怎么实现matlab子程序的放置以及调用

怎么实现matlab子程序的放置以及调用,第1张

1、在电脑桌面上打开MATLAB。

2、当你没有把你编辑好的子函数放入正确的文件夹时,不管你输入的程序是否有错,当你执行时,系统都会提示“没有定义”,这个时候就是没有子函数文件放到主函数库文件夹中。

3、首先,输入“edit conv”这个“conv”是我准备编辑的子函数的主函数名,每个人所需的主函数名都不一样,这里可以不要那么在意。然后就可以打开相应的主函数,这是可以看到主函数所在文件夹位置。如图所示,※记住这个位置。

4、然后进行子函数的编辑,首先新建一个新的m文件,然后在编辑框中输入所要的子函数,例如我就是输入了convnem的函数,这是conv的子函数。然后点击保存。

5、接下来,在“conv”所在文件位置,将位置记录下来,将子函数的文件保存到主函数所在的文件夹即可,然后在重新的将你所需的程序(含有子函数的)输入并且执行,这时你会发现原来提示的错误没有了,那么这时调用自己添加的子函数成功了。以后有相应的子函数都可以通过这样的方法进行添加子函数。

一、 实验内容:

2讨论资金积累、国民收入与人口增长的关系.

(1)若国民平均收入x与人口平均资金积累y成正比,说明仅当总资金积累的相对增长率k大于人口的相对增长率r时,国民平均收入才是增长的.

(2)作出k(x)和r(x)的示意图,分析人口激增会导致什么后果.

二、实验步骤:

1.建模分析:

(1).(X(t),Y(t))与(x(t),y(t))之间的距离总是硬棒的长度,于是

(1)

(2).玩具总是在硬棒的方向上运动,因此,两个位置的差向量是玩具的速度方向的倍数, :

(2)

(3)玩具的速度依赖于小孩的速度向量Vc的方向。小孩的速度 在硬棒上的投影是玩具的速度 的模。

特例:假设小孩在半径为a(硬棒的长)的圆上行走。在此特殊情况下,玩具停留在此圆的圆心,根本不运动。

将式(2)代入式(1)可得,

(3)

于是

(4)

(4)如何利用 ?

标准化差向量 ,可得单位向量 ;

确定 在 生成的子空间上的投影: ;

(5)数值解法

(6)数值解Matlab程序:

2x1(t)---t时刻总资金积累量,x2(t)---t时刻人口数量,x3(t)---t时刻国民平均收入量,k---总资金的相对增长率,r---人口的相对增长率

假设:

(1)总资金增长和人口增长均满足指数增长,由题知:国民平均收入与按人口平均资金积累成正比,并设此比例系数为a。

(2)根据网上获得的数据,自2007年起,我国人口总数为1321851188,总资金积累量(国内生产总值)为246637亿元,人口增长率为107%,总资金(国内生产总值)增长率为115%。a的值约为1。

求解的Matlab程序代码:

先建立M文件fundPopulationm如下示:

function dx=fundPopulation(t,x)

dx=zeros(3,1);

k=0115;r=00117;a=1;x(3)=ax(1)/x(2);

dx(1)=kx(1);dx(2)=rx(2);dx(3)=a(k-r)x(3);

主程序weifengfangchengm 如下:

[t,x]=ode45('fundPopulation',[2007 2050],[246637 1321851188 1865845]);

figure(1),plot(t,x(:,1),'k') %作出总资产积累量与时间的图像

xlabel('时间[年]'),ylabel('总资金积累[亿元]')

figure(2),plot(t,x(:,2),'m-') %作出人口数与时间的图像

hold on

xlabel('时间[年]'),ylabel('人口数')

figure(3),plot(t,x(:,3),'r+') %作出国民平均收入与时间的图像

hold on

xlabel('时间[年]'),ylabel('国民平均收入[亿元]')

三、实验结果分析

答: 1运行结果:

2由上面推理知:国民平均收入量满足指数增长,其增长率为(k-r),故仅当总资金积累的相对增长率k大于人口的相对率r时,国民平均收入才是增长的。

上图(1)是总资金积累量与时间的图像。

上图(2)是人口数与时间的关系。

上图(3)是国民平均收入与时间的关系。

所以综上,当人口激增时,在一定程度上,人口平均资金积累和国民平均收入都会减少,人们的生活水平将会下降。国家应该实施宏观调控来控制人口增长,以保证人们的生活水平进一步提高。

clear

a=input('give me a number\n');

y=1;

for s=2:ceil(sqrt(a))

if mod(a,s)==0

y=0;

end

end

b=input('do you want to know if it is prime ','s');

if b=='y'

if y

disp('yes, it is');

else

disp('no, it is not ');

end

end

如何用matlab实现程序调用GUI图形界面实现人机交互

[filename,pathname]=uigetfile(

{'txt;dat','数据文件(txt,dat)';

',','所有文件()'},

'请选择一个数据文件');

if isequal(filename,0)||isequal(pathname,0)

return;

end

fpathload=[pathname filename];

set(handlesgetsignal_editbox,'String',fpathload);%在editbox中实现路径显示

这一个可以实现前两个功能 但是具体的参数你要自己设定。

1、如下图所示,打开MATLAB软件后点击File/New/Script后,会出现文件编辑窗口:

2、在文件编辑窗口输入代码(以plot函数代码为例),如下图所示:

3、检查代码,确保没有错误后点击窗口中运行(Run)按钮,运行程序(如下图红色箭头所示按钮):

4、查看运行结果,由于利用plot函数绘制曲线,所以运行后出现如下红色箭头所指的二次曲线:

以上就是关于怎么实现matlab子程序的放置以及调用全部的内容,包括:怎么实现matlab子程序的放置以及调用、求解几个Matlab的程序、哪位好心人能帮忙写个简单的matlab程序 很着急 多谢!!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10170542.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存