matlab 编写M文件

f=f(x)的表达式较为复杂而不易写出,形式大致为f=f(x)=a(b(c(x))),
皆为五次以下多项式,其中b的系数m分别取m1,m2,m3...时,对应的有f1,f2,f3...另,对应于不同m,有不同x的定义域,即(c1*m,c2*m)。
提问:
1、若要用M文件写f1的函数,是不是必须要预先分别准备a1,b1,c1的M文件,然后在f1中组合起来?即是否可能把函数式较难写出的用一个文件写出?另外,怎样在M文件的函数中限制自变量定义域?
2、如何不采取画图后ginput的粗略方式求某两个f函数的交点(精确的)?
3、如何截去这些函数的重合定义域部分的曲线,即在交点处互相连接成为一个整体的分段函数?
4、如何对3的结果数值积分?
谢谢

matlab的M文件是函数文件或者脚本文件,MATLAB的m文件分为两种。

一种为脚本文件,就是由一堆命令构成的,里面第一行不是 function 开头,这种文件比如是myfun.m 就在命令窗口里输入myfun回车就行,matlab会把m文件中的命令都运行一次。

另一种为函数文件,第一行为function ,比如说 function y=myfun(x),这种文件函数名与文件名必须是一致的,在命令窗口里输入myfun(x), x是运行参数,回车即运行。

扩展资料:

MATLAB主要用于数值分析、数值和符号计算、工程与科学绘图、控制系统的设计与仿真、数字图像处理、数字信号处理、通讯系统设计与仿真、财务与金融工程,是一款商业数学软件。

MATLAB是matrix和laboratory两个词词根的组合,意为矩阵工厂。该软件将数值分析、矩阵计算、科学数据可视化、非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,提供了一种有效数值计算的解决方案。

参考资料来源:百度百科-m (文件格式)

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-03-23
没完全看明白,写了点供你参考

1.可以分函数写,也可以直接这样写
function y=f1(x)
c1 = cc5*x^5 + cc4*x^4+....
b1 = bb5*c1^5 + bb4*c1^4+...
a1 = aa5*b1^5 + ....
y=a1
要限制自变量范围就是
if x<x1
....
elseif x<x2
...
else
...
end

2.就是求f(x1)-f(x2)的根呀
忘记是root还是solve函数了,自己查一下吧

3.拼接函数的过程可以这样来
f=zeros(size(f1))
for i=1:N
if i<i1 % x(i1)是定义域重合的交界
f(i)=f1(i)
elseif i<i2 % x(i2)是定义域重合的交界
f(i)=f2(i)
........

4.粗略的积分直接用求和即可
sum(f)*dx % dx是x的步长本回答被提问者采纳
相似回答