当前位置:编程学习 > Matlab >>

有个Matlab老是这个问题,求帮忙!!!!!!!!!!!!!

x=0:0.1:1; y=23.13+15.0375/(2*pi^2*2.13*(x/0.00013).*(x/0.00013)); plot(x,y),xlabel('有源层厚度dw(*10^-6 m)'),ylabel('阈值电流Jth(KA/cm^2)'),title('阈值电流与有源层厚度关系') ??? Error using ==> mrdivide Matrix dimensions must agree.
答案:在第一个除号前面加个点y=23.13+15.0375   ./   (2*pi^2*2.13*(x/0.00013).*(x/0.00013));
数组运算符号后面,则必须用点除,在前面可以任意选择
因为,如果不给出运算符号(.),程序运行时,根据最先遇到的数据结构来确定运算规则,如果第一个是一个数,则认为是点乘,是矩阵则认为是叉乘
其他:3、并不是每次都执行交换位置的,你对这个算法理解不太清楚,可能你的编程老师没有讲解清楚吧,另外这个程序也有个问题,k其实是没有用的,你把程序改成 x=0:0.1:1;
y=23.13+15.0375./(2*pi^2*2.13*(x/0.00013).*(x/0.00013));
plot(x,y),xlabel('有源层厚度dw(*10^-6 m)'),ylabel('阈值电流Jth(KA/cm^2)'),title('阈值电流与有源层厚度关系') 

上一个:MATLAB中如何对连续函数采样,并将采样值保存在一个数组中?
下一个:MATLAB程序里k=input('Enter the file name','s');是什么意思

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,