
题主的问题实际上是变参数二重积分问题。解决变参数积分的途径:1、利用int()函数求出其解析值,但对于复杂的积分表达式,是有一定的难度;2、利用数值积分函数,如integral2()、quad2(),而数值积分函数的特点是不能有多余的未知变量。
由于题主给出的表达式比较复杂,要解决这个问题。可以这样来处理。即当Rb为某一数值时,求出其y=Q1/Q2值。再利用for循环语句求得,y—Rb的一系列对应值,最后用plot函数绘出其关系曲线图。所以题主可以在原代码进行修改,修改的部位
%syms Rb 去掉
Rb0=100:10:200%增加
for i=1:length(Rb0) %增加
Rb=Rb0(i)%增加
syms r fai %增加
eq1=。。。%被积函数
eq2=。。。%被积函数
Q1=integral2(f1,4*1e-6,5*1e-6,-pi/2,pi/2)%改写
Q2=integral2(f2,4*1e-6,5*1e-6,-pi/2,pi/2)%改写
y=Q1/Q2
y0(i)=y%增加
end%增加
plot(Rb0,y0,'b')
xlabel('Rb(kN)'),ylabel('y(μm)') %增加
N=1e6;paradata =50;
nco_acc=zeros(N)
for i=2:N
nco_acc(i)=nco_acc(i-1)+paradata
nco_acc(i)=mod(nco_acc(i),2^33)
end
nco_acc=zeros(N)提前指定变量大小,能显著提高循环速度。不用随机寻址。并且你这个变量的第一个元素是什么需要指定。
1、matlab是一个功能强大的软件,不仅仅在数据处理方面很优秀,在界面编程方面同样优秀,这里简单介绍下matlab界面编程的基础步骤。
2、在打开的matlab程序中,点击new---graphic user interface,打开创建gui向导--我们选择blank gui,创建空白的gui界面---选择左侧我们需要的控件,如下图,我们选择一个button---将控件拖入到gui界面的合适的位置,双击打开设置属性的界面---设计好界面后,我们先不要编写函数内容,先运行界面---他会提醒我们激活界面将保存界面和代码,我们选择yes---输入文件名,点击保存---我们回到界面编辑界面,点击button右键打开右键菜单,点击view callbacks---callback,来跳转到该控件的回调函数---我们在该函数中输入代码---这时,我们运行程序,点击按钮,即可以在命令窗口中看到button执行的效果。
3、先运行界面,使得matlab给我们创建界面的代码,然后在view callback。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)