Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
&引用;内部矩阵尺寸必须一致;MATLAB误差_Matlab - Fatal编程技术网

&引用;内部矩阵尺寸必须一致;MATLAB误差

&引用;内部矩阵尺寸必须一致;MATLAB误差,matlab,Matlab,我在Matlab中使用以下等式: k=10e-10:0.01:1.5; Ck2=(0.5*((i*k+0.135)*(i*k+0.651)))./((i*k+0.0965)*(i*k+0.4555)); plot(k,imag(Ck2)); plot(k,real(Ck2)); 我没有定义“I”,所以MATLAB假设在我的方程中是一个虚数。我试图画出方程的实部和虚部与k的范围 我得到一个错误的说法:内部矩阵的尺寸必须一致。我已经尝试在乘法运算符之前使用“.”运算符对每个元素进行乘法,但没有成功

我在Matlab中使用以下等式:

k=10e-10:0.01:1.5;
Ck2=(0.5*((i*k+0.135)*(i*k+0.651)))./((i*k+0.0965)*(i*k+0.4555));
plot(k,imag(Ck2));
plot(k,real(Ck2));
我没有定义“I”,所以MATLAB假设在我的方程中是一个虚数。我试图画出方程的实部和虚部与k的范围

我得到一个错误的说法:内部矩阵的尺寸必须一致。我已经尝试在乘法运算符之前使用“.”运算符对每个元素进行乘法,但没有成功。任何帮助都将不胜感激


感谢您的高级指导。

因为k是一个向量,当您将k*k相乘时,您将使用矩阵乘法将两个向量相乘。使用矩阵乘法,将一个jxk大小的矩阵乘以一个kxl大小的矩阵,得到一个jxl结果

但是在这里,你要用1 x 150乘以1 x 150,所以这些维度没有排列成适当的矩阵乘法。相反,使用.*将在每个元素之间执行成对乘法

试试这个:

k = 10e-10:0.01:1.5;  % 1 x 150 length vector
Ck2= (0.5*((i*k+0.135) .* (i*k+0.651))) ./ ((i*k+0.0965) .* (i*k+0.4555));

你应该试试。*?我试过了,但没用。上面写着“意外的MATLAB运算符”嗯,我要测试,你把它放在我放在解决方案中的地方了吗?它对我来说工作正常,你写的和我下面写的一样吗?@fileyfood500它现在工作了!非常感谢。我将接受解决方案:)