You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Scilab中运行代码时第6行出现维度不匹配错误求助

Scilab维度不匹配错误修复

错误原因

第6行的Nc*Nv'用了矩阵乘法,Nc是行向量,Nv'是转置后的列向量,两者相乘会生成一个矩阵,而sqrt()需要的是一维数组,后续和exp()的结果(一维数组)也无法匹配,直接触发维度不匹配报错。

修复后的代码

T=10:10:500;
k=1.38e-23;
Eg=1.1*1.6e-19;
Nc=5.41e15*(T.^1.5);
Nv=2.23e15*(T.^1.5);
ni=sqrt(Nc.*Nv)*exp(-((Eg)/(2*k*T)));
plot2d(T, ni)

关键修改点

  • 将Nc*Nv'替换为Nc.*Nv:使用元素-wise乘法(点乘),让两个同维度的行向量逐元素相乘,得到和原向量维度一致的一维数组,确保sqrt()和后续exp()运算的维度匹配。
  • 可选优化:plot2d(T, ni)可以直接用行向量T,Scilab的plot2d对行/列向量兼容性很好,不需要额外转置。

内容的提问来源于stack exchange,提问作者Sargon Biro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 14:48:23