我在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的范围相对应。
我收到一个错误说:内部矩阵尺寸必须一致。我已经尝试过使用“。”乘法运算符之前的运算符乘以每个元素但我没有成功。任何帮助将不胜感激。
先谢谢你。
答案 0 :(得分:1)
由于k是一个向量,当你乘以k * k时,你使用矩阵乘法乘以2个向量。使用矩阵乘法,将j x k大小矩阵乘以k x l大小矩阵,得到j x l结果。
但是在这里你将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));