89456418961 2022-02-28 16:33 采纳率: 84.6%
浏览 396
已结题

MATLAB fsolve:串联的矩阵的维度不一致,如何解决?

a=9;
d=0.6;
xr1=1;
xg1=1;
xb1=1.2;

x0=[2,2,2,2,2,2,0.6];      % 初始参考点

fun=@(x)[

(x(1)+x(2)+x(1)+2*x(7))-a ,...

(x(2)*3^0.5+d+(x(2)*3^0.5+d)/2)-a   ,...
   
(3^0.5*(x(1)*x(2)+x(2)*x(2)/2)/a/a)/(3^0.5*(x(3)*x(4)+x(4)*x(4)/2)/a/a)-xr1/xg1 ,...
(3^0.5*(x(3)*x(4)+x(4)*x(4)/2)/a/a)/(3^0.5*(x(5)*x(6)+x(6)*x(6)/2)/a/a)-xg1/xb1 ,...
(3^0.5*(x(1)*x(2)+x(2)*x(2)/2)/a/a)/(3^0.5*(x(5)*x(6)+x(6)*x(6)/2)/a/a)-xr1/xb1 ,...
    ];
x=fsolve(fun,x0);   %调用函数

Lr1=x(1)
Lr2=x(2)
Lg1=x(3)
Lg2=x(4)
Lb1=x(5)
Lb2=x(6)
Ld =x(7)

错误使用 vertcat
串联的矩阵的维度不一致。

出错 fsolve (line 230)
fuser = feval(funfcn{3},x,varargin{:});

出错 SIX (line 41)
x=fsolve(fun,x0); %调用函数

原因:
Failure in initial objective function evaluation.
FSOLVE cannot continue.

  • 写回答

1条回答 默认 最新

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 系统已结题 3月9日
      • 已采纳回答 3月1日
      • 创建了问题 2月28日

      悬赏问题

      • ¥15 win10账户不见了怎么找回
      • ¥15 如何显示得分大于0.5的检测框
      • ¥15 微信小游戏使用云开发的CDN配置
      • ¥15 Matlab的SAW模态耦合模型的仿真程序
      • ¥20 求个C# SSL socket的客户端和 服务端代码
      • ¥15 大家调试TI C2000系列DSP用什么上位机?
      • ¥20 Eltable 如何实现鼠标拖拽范围多选
      • ¥15 产品需要了解什么代码技术才能更好站在开发角度思考问题?
      • ¥15 pandas 处理表格计算 帮助
      • ¥15 统计数据能提前统计吗