1. 什么是M文件 Matlab写程序的文件 。
MATLAB是解释型语言,就是说MATLAB命令行中敲入的命令在当前MATLAB进程
中被解释运行 。但是,每次执行一个任务时敲入长长的命令序列是很烦人的 。有两种方法可以使MATLAB的力量得到扩展——脚本和函数 。这两种方法都用像emacs一样的文本编辑器中编写的m文件(因为扩展名是.m所以这样命名,m文件还称点m文件) 。m文件的好处在于它可以保存命令,还可以轻易地修改命令而无需重新敲入整个命令行 。
2. matlab 多目标线性规划 M文件 怎么写 [x,fval,attainfactor]=fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub,nonlcon)
x:最优解
fval:每个目标函数最优值
attainfactor:超出或未到目标的量
fun:目标函数,由于是多目标函数,所以这是一个向量
x0,自变量的初始值
goal:目标,是个向量
weight:各个目标的权重
下面三个同线性优化一样
Ax<=b
Aeq*x=beq
lb<x<ubnonlcon与非线性约束函数fmincon中一样例子见: #
3. 如何自己写一个slblocks.m文件 首先你要有一个slblocks.m文件,编辑slblocks.m文件,可以在MATLAB中搜索slblocks.m文,而且在一个目录中只有这一个同名文件,你的模块库的名称写在这个slblocks.m这个文件中Browser 。
要显示自定义的模块库,还需要拷贝slblocks.m函数到新建的路径下 。在Matlab的命令窗口中输入:
>> which('slblocks.m', '-all')
【m文件怎么写】>> open('D:\MATLAB\R2006a\toolbox\Simulink\blocks\slblocks.m')
(1).Library = '库名';
Browser(1).Name = '在simulink browser中显示的名称';
Browser(1).IsFlat = 0;% Is this library "flat" (i.e. no subsystems)?
最后保存到你的搜索路径下 重起simulink!! 就ok
如果想添加多个库的话,可以把很多封装好的库都放在Browser(1).library对应的库中,可以观察simulink,也是这么做的,把很多的顶级库放在一起,容易管理 。
4. 如何把MATLAB的m文件与命令写一起 > [t,x]=ode45('ill',[0:50],[0.02,0.98]);
用ode45(四阶龙格库塔)法求解数值积分的库函数
ill是自定义函数的文件名 。[0,50]积分区间,[0.02,0.98]是初始值
[t,x]
显示积分求解出的t值和x值
>> plot(t,x(:,1),t,x(:,2)),grid,pause
画出tx图,加网格,暂停
调用ode45接微分方程是不能写在同一个m文件中的 。但是你可以先写函数ill保存为一个m文件,在写调用程序到另一个m文件,两个m文件在同一路径下就行了
5. GUI里实现退出关闭命令的按钮的M文件怎么写 选择第二种方案吧 。因为利用控件设计还是会人性化点 。你想达到的退出界面功能,函数如下:
function pushbuttom_Callback(hObject, eventdata, handles)
selection=questdlg(['是否关闭',get(gcf,'Name'),'窗口?'],。
['Close ',get(gcf,'Name'),' 。'],'是','否','是');%当选择退出按钮时,得出一个问是否确定关闭的框
if strcmp(selection,'否')
return;
else
clc; %当选择关闭时,清空所有matla输入面上的所有错误信息,同时关闭图像窗口
clear all;
delete(gcf);
end
文章插图