为什么我的以下代码"代码段"运行?显示的错误消息是
??? Error using ==> mpower
Matrix must be square.
Error in ==> SolverDEqnsBoth at 112
x_1 = sqrt((a_33)^2+4.*a_13.*a_31);
注意:"妈妈"是一个常数。
x=linspace(0,50,100);
y = zeros(1,length(x));
for i = 1:length(x)
h_5 = 184544783/4620170000;
h_4 = (221/1483363330625).*y;
h_3 = (1887/12500).*y;
h_2 = 359187209/4620170000;
h_1 = 91999/231008500000000000;
a_13 = (91999/231008500000000000)./x;
a_31 = 18606379625340700000/11891636430654839;
a_32 = 92403400000/33107071;
a_33 = (7/500).*x;
x_1 = sqrt((a_33)^2+4.*a_13.*a_31);
x_2 = (a_33 + x_1)./2;
x_3 = (x_2).^2;
x_4 = (x_3).*h_5.*mum;
y(i)=((x_4)./((1887/12500).*(221/1483363330625)))^(0.5);
end
我的意思是,我知道为什么它没有运行(x_1不是方阵,所以不能取平方根) - 但是如何解决它?
答案 0 :(得分:0)
a_33是一个1x100矢量,你不能使用mpower(矩阵功率)对它进行平方。如果您想要使用每个元素的强大功能,请使用a_33.^2
。
此外:您正在使用循环,但i
对计算没有影响,我猜您的代码存在根本性的错误。