| 查看: 1037 | 回复: 3 | |||
[求助]
求助MATLAB画图,二维曲线,总是出错,求助高手
|
|
i=1; lamda=0.0019; l=14; n=1.44; l1=5; h=l/2/n; l2=10; l3=45; d1=l1+h; d2=l2+h; R2=300; for f=1:0.1:1000 %热透镜焦距取值范围 M=[1,d1;0,1]*[1,0;0,1]*[1,d1;0,1]*[1-h/f,2*h-h*h/f;-1/f,1-h/f]*[1,d2;0,1]*... [1,0;0,1]*[1,l3;0,1]*[1,0;-2/R2,1]*[1,l3;0,1]*[1,0;0,1]*[1,d2;0,1]*... [1-h/f,2*h-h*h/f;-1/f,1-h/f]; A=M(1,1); B=M(1,2); C=M(2,1); D=M(2,2); N=[1,d2;0,1]*[1,0;0,1]*[1,l3;0,1]*[1,0;-2/R2,1]*[1,l3;0,1]*[1,0;0,1]*... [1,d2;0,1]*[1-h/f,2*h-h*h/f;-1/f,1-h/f]*[1,d1;0,1]*[1,0;0,1]*... [1,d1;0,1]*[1-h/f,2*h-h*h/f;-1/f,1-h/f]; a=N(1,1); b=N(1,2); c=N(2,1); d=N(2,2); if(abs((A+D)/2)<=1) w01(i)=abs((2*lamda*B)/(pi*sqrt(4-(A+D)^2)))^(1/2); w02(i)=abs((2*lamda*b)/(pi*sqrt(4-(a+d)^2)))^(1/2); y(i)=f; i=i+1; end end wp=0.4; plot(y,w01,y,w02,y,wp) MATLAB运行结果为 ??? Error using ==> plot Vectors must be the same lengths. |
» 猜你喜欢
山西大同大学物理学专业还有调剂名额,欢迎调剂!
已经有13人回复
桂林理工大学物理学专业招收调剂
已经有18人回复
物理学I论文润色/翻译怎么收费?
已经有222人回复
VASP 的一组 GPU / CPU 基准测试记录
已经有0人回复
津理工大学晶体材料全国重点实验室刘红军教授课题组招收博士生一名
已经有0人回复
【原创讨论】从电子约束到物质编辑:一套可迭代的环形磁场科技树
已经有0人回复
【方案分享】单环磁场+轴心控制+偏转导出电子束约束系统(可行性实验)
已经有6人回复
【修正版】单环用磁约束低速电子实验方案(简化版)
已经有0人回复
桂林理工大学物理学专业招收调剂,还有三个名额!!!
已经有20人回复
考博自荐
已经有1人回复
» 本主题相关价值贴推荐,对您同样有帮助:
matlab画图求助
已经有11人回复
继续求助Matlab绘图!
已经有8人回复
Matlab画图求助? (有人说, 标题一定要长------------------------->)
已经有5人回复
求助matlab三维画图中:Inner matrix dimensions must agree.
已经有4人回复
求助matlab画图问题
已经有3人回复
求助:谁会用matlab画图?
已经有13人回复
【求助】matlab 绘图问题
已经有16人回复
【求助】MATLAB多个mat中 数据画图问题
已经有7人回复
【求助】matlab 遗传算法工具箱绘图命令是什么?
已经有6人回复
【求助】请教Matlab高手根据积分画图问题
已经有4人回复
【求助】如何采用Matlab绘制电子云密度图
已经有8人回复


2楼2012-10-09 15:14:26

3楼2012-10-09 17:26:43
【答案】应助回帖
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
小鱼118: 金币+10, ★★★★★最佳答案, 画图成功了,谢谢高手! 2012-10-10 09:00:32
dbb627: 金币+2, 谢谢应助! 2012-10-10 17:06:07
小鱼118: 金币+10, ★★★★★最佳答案, 画图成功了,谢谢高手! 2012-10-10 09:00:32
dbb627: 金币+2, 谢谢应助! 2012-10-10 17:06:07
|
我改了一下你原来的程序,w01和w02以及y都给了初始长度10000,循环结束后取出其中的有效长度绘图。你运行一下试试,另外C和c的值在程序中没有使用。 i=1; lamda=0.0019; l=14; n=1.44; l1=5; h=l/2/n; l2=10; l3=45; d1=l1+h; d2=l2+h; R2=300; w01=zeros(1,10000); w02=zeros(1,10000); y=zeros(1,10000); for f=1:0.1:1000 %热透镜焦距取值范围 M=[1,d1;0,1]*[1,0;0,1]*[1,d1;0,1]*[1-h/f,2*h-h*h/f;-1/f,1-h/f]*[1,d2;0,1]*... [1,0;0,1]*[1,l3;0,1]*[1,0;-2/R2,1]*[1,l3;0,1]*[1,0;0,1]*[1,d2;0,1]*... [1-h/f,2*h-h*h/f;-1/f,1-h/f]; A=M(1,1); B=M(1,2); D=M(2,2); N=[1,d2;0,1]*[1,0;0,1]*[1,l3;0,1]*[1,0;-2/R2,1]*[1,l3;0,1]*[1,0;0,1]*... [1,d2;0,1]*[1-h/f,2*h-h*h/f;-1/f,1-h/f]*[1,d1;0,1]*[1,0;0,1]*... [1,d1;0,1]*[1-h/f,2*h-h*h/f;-1/f,1-h/f]; a=N(1,1); b=N(1,2); d=N(2,2); if abs((A+D)/2)<=1 w01(i)=abs((2*lamda*B)/(pi*sqrt(4-(A+D)^2)))^(1/2); w02(i)=abs((2*lamda*b)/(pi*sqrt(4-(a+d)^2)))^(1/2); y(i)=f; i=i+1; end end w01n=w01(1:i-1); w02n=w02(1:i-1); yn=y(1:i-1); wp=0.4*ones(1,i-1); plot(yn,w01n,yn,w02n,yn,wp) |

4楼2012-10-09 18:15:51













回复此楼
5