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 的范围绘制方程的实部和虚部。
我收到一条错误消息:内部矩阵尺寸必须一致。我已经尝试使用“。” 乘法运算符之前的运算符将每个元素相乘,但我没有成功。任何帮助将不胜感激。
提前谢谢你。
解决方案
由于 k 是一个向量,因此当您将 k * k 相乘时,您将使用矩阵乘法将 2 个向量相乘。使用矩阵乘法,您将 jxk 大小矩阵乘以 akxl 大小矩阵,并得到 ajxl 结果。
但是在这里,您将 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));
推荐阅读
- asp.net-core - .Net Core 5 Post Response 返回不正确的 Content-Type: application/json
- r - 删除重复的嵌套列表级别 - R Studio
- reactjs - 为什么“min”和“max”属性不会影响反应图表的垂直轴?
- excel - Power Query:返回自我(此)查询名称
- javascript - Firebase 更改文件夹中的数据
- python-3.x - 在 Windows 上安装 Kapua 的问题
- c# - C# Dropbox 同步状态
- java - 如何将 lambda 函数代码导入 eclipse
- sql - 从 Select 语句创建一个新列,然后在一个过程中将其与另一个 Select 语句组合以返回一个数据表
- java - Java 中线程的替代方案