编写M文件,实现分段函数如下matlab

2021-01-02 20:48:15 字数 5280 阅读 1751

1楼:匿名用户

function y=f(x)

if x<=-1

y=x^2+1;

else if x<1

y=0;

else

y=x^2;end

matlab画分段函数图像,编写m文件

2楼:匿名用户

使用baim函数文件,实现分du

段绘制曲线,绘制的各zhi条曲线为一个子函数。dao这个问题可以这样版来处理。权

1、建立三个子函数,即

function y1=func1(x)

y1=0.5*exp(-3.75*x.^2-1.5*x);

endfunction y2=func2(x)y2=0.7*exp(-6*x.^2);

endfunction y3=func3(x)y3=0.5*exp(-3.75*x.^2+1.5*x);

end2、用for循环语句和if判断语句及plot函数,绘出其三段函数图形。

clcx=[-2:0.01:2];

n=length(x);

for i=1:n

if x(i)>1

y1(i)=func1(x(i));

plot(x(i),y1(i),'ko'),hold onelseif x(i)>-1 & x(i)<=1y2(i)=func2(x(i));

plot(x(i),y2(i),'r*'),hold onelseif x(i)<=-1

y3(i)=func3(x(i));

plot(x(i),y3(i),'gp'),hold onendxlabel('x'),ylabel('y')end3、运行结果

用matlab编写一个函数使其产生如下分段函数 f(x)=0.5x x<=2 1.5-0.25x 26 并调用此函数

3楼:久久不能记住

建立名为myfun.m的m文件,内容如下:

function f=myfun(x)

f=0.5*x.*(x<=2)+(1.5-0.25*x).*(x>2).*(x<=6)+0.5*(x>6);

之后绘制[0,2]内 f(x)*f(x+2)的曲线x=0:.1:2;

y=myfun(x).*myfun(x+2);

plot(x,y)

绘制f(x)的曲线

x=0:.1:10;

y=myfun(x);

plot(x,y)

matlab 中函数式m文件怎样编写

4楼:依然范佩西

打开matlab,然后点左上方的file 选择new,里面就有m文件

5楼:匿名用户

这个类似函数的,不好说啊。你找本书看看吧

编写一个matlab函数,实现如下分段函数 要求如下:

6楼:匿名用户

function yout=myfun1(x,d)% myfun1 help h=5

% |bai- h ,x>d% y=f(x)=| h/(d.*x) ,|x|<=d% |- -h ,x<-dif x>d

yout=5;

elseif abs(x)<=d

yout=5./(x.*d);

elseif x上边

是函数,h我定义成du5了,你可以根据

zhi你实际来dao修改,回或者像x和d一样答作为参数传进来d=2;

>> for k=1:100

x(k)=-50+k;

y(k)=myfun1(x(k),d);

endplot(x,y)

这是在matlab中调用方法

用matlab编写一个函数来计算分段函数

7楼:匿名用户

首先抄,建立bai自定义分du

段函数,即

zhipiecewise。m function y=piecewise(x) %piecewise function 分段函数dao n=length(x); pomax=9; for i=1:n if x(i)>=0 & x(i)150 & x(i)> piecewise(4) ans = 7.

5992

matlab中怎么用m文件定义分段函数,再用fplot进行函数作图

8楼:阳光的小可爱

fun3 = @(x)exp(x);

fplot(fun3,[-3,0],'m')hold on

fun4 = @(x)cos(x);

fplot(fun4,[0,3],'r')用hold on

9楼:匿名用户

function [y]=f(x)

x=0:0.1:1;

if x<=1/2

y=2*x;

else

y=2*(1-x)

endfplot('2*x,2*(1-x)',[0,1/2],(1/2,1])

matlab分段函数怎么编写

10楼:小丁创业

matlab分段函copy数编写的操作方法和步骤如下:

1、第一步,在计算机桌面上打开matlab软件,如下图所示。

2、其次,完成上述步骤后,单击matlab软件左上方的“新建”按钮以创建脚本文件,如下图所示。

3、接着,完成上述步骤后,定义变量,如下图红框标注所示。

4、然后,完成上述步骤后,建立一个循环来求解分段函数,如下图所示。

5、随后,完成上述步骤后,使用piot(x,y)指令绘制图形,如下图所示。

6、最后,完成上述步骤后,显示最终分段函数的效果,如下图所示。这样,问题就解决了。

11楼:智慧小白菜

1、首先复在电脑桌面上打开matlab软件。

2、然后制点bai击matlab软件左上方的新建du按钮,建立一个脚本文件zhi。

3、定义变dao量:

a1=1.5;

a2=2.5;

x=0:0.001:5

4、建立循环,求解分段函数。

5、采用piot(x,y)指令画图。

6、展示最终的分段函数效果。

12楼:匿名用户

首先,来建立自定义分段函自数,即piecewise。mfunction y=piecewise(x)%piecewise function 分段函数bain=length(x);

pomax=9;

for i=1:n

if x(i)>=0 & x(i)<=150y(i)=0.79*pomax*x(i)^0.048;

elseif x(i)>150 & x(i)<=270y(i)=pomax*exp(-0.021*(x(i)-150));

else

disp('x必须在0~270之间du')endend

然后,zhi

在当前目录下,执行dao

>> piecewise(4)

ans =

7.5992

13楼:匿名用户

x=0:0.1:12;

y=(4*x).*(x>=0&x<3)+12*(x>=3&x<6)+(-4*x+36).*(x>=6&x<9)+0*(x>=9&x<12);

plot(x,y)

xlabel('x');

ylabel('y');

14楼:林立

function y=fenduan(x)if x>0&&x<3

y=4*x;

endif x>3&&x<6

y=12;

endif x>6&&x<9

y=-4*x+36;

endif x>9&&x<12

y=0;end

15楼:匿名用户

syms x

f=4*x.*(x>0 & x<3)+12.*(x>3 & x<6)+(-4*x+36).*(x>6 & x<9)+0.*(x>9 & x<12);

16楼:愈树花稽癸

有很多种形式可以实现分段函数,其中最简单而运算起来又最快的是:

下面以你的内题目为例

function

m=fenduanhanshu(t)

m=t*(t>=0

&t<1)+(-t+2)*(t>1

&t<=2)+0.1*(t<0

|t>2)

【解释】容

17楼:都同书淡黛

matlab对分段函数有非常简单的表示,对此例而言,语句如下:

x = -5:.1:5;

y = (3*x.^2+1).*(x>=1) + (2-x.^3).*(x<=-1);

对于楼主的

专程序,错误之处在于:

属elseif -1

18楼:夕林中人

有很多种来形式可以实现分段函数,源其中最简单而运算起bai来du又最快的是:

下面以你的题目为zhi例dao

matlab 编写m文件

19楼:匿名用户

没完全看复明白,写了点供你制参考

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

....

elseif x

...else

...end

2.就是求f(x1)-f(x2)的根呀

忘记是root还是solve函数了,自己查一下吧3.拼接函数的过程可以这样来

f=zeros(size(f1))

for i=1:n

if i

elseif i

........

4.粗略的积分直接用求和即可

sum(f)*dx % dx是x的步长

用matlab,编写函数文件,计算1+2 2+

1楼 我行我素 n 20 可改为任意数 x 1 for i 2 n x x i 2 endx 2楼 匿名用户 如下 function x task n x 0 for i 1 n x x n 2 endend matlab for循环计算1 2 3 2 5 2 3楼 技术3v噏羞 sum 0 n 7...