【MATLAB】@定义数学函数表达式

本文介绍了如何在MATLAB中定义和使用数学函数,包括函数表达式的语法、嵌套、与`sym`类型结合、function函数的返回、以及分段函数的两种实现方法,展示了MATLAB在处理数学计算和程序设计中的应用。
摘要由CSDN通过智能技术生成

1 @定义数学函数表达式

语法:f=@(变量1、变量2、、)(函数表达式);

% @定义数学函数表达式
clc,clear
f=@(x,y)(x+y);%函数
a=f(1,2)
a =

     3

注意:如果输入变量是向量或矩阵 ,则函数表达式中必须用点运算,如 .^  ./ 等。

2函数表达式嵌套

clc,clear
f=@(x)(x+1);%函数
f2=@(x)(2*f(x));
a=f2(1) %加1乘2
a =

     4

3 @与sym类型表达式结合

例:计算传递函数F(s)对应s的值。

clc,clear
format rat %分数表示
syms t s
f = t; %f(t)=t
F=laplace(f) %拉斯变换
f=@(x)(double(subs(F,'s',x))); %符号变量s替换为变量x
a=f(2)
F =
 
1/s^2
 

a =

       1/4     

4 function函数返回@句柄

 参数n=1时函数返回表达式y=x的句柄,参数n=2时函数返回表达式y=x^2的句柄。

clc,clear
f1=f(1);
a=f1(2)
f2=f(2);
b=f2(2)

function fx=f(n)
%返回函数
if n==1  
    fx=@(x)(x);%一次函数y=x
elseif n==2
    fx=@(x)(x.^2);%二次函数y=x^2
else
    fx='NaN';
end
end
a =

     2


b =

     4

5分段函数

编写分段函数程序

f(x)=\left\{\begin{matrix} -x,x<0 \\ x,x\geqslant 0 \end{matrix}\right.

 

5.1直接编写(不推荐)

利用逻辑索引。

clc,clear
close
x=-1:0.1:1;
y=f(x);
plot(x,y)
axis equal
axis([-1.2 1.2 0 1.2])
grid on
xlabel('x')
ylabel('y')
title('分段函数')
saveas(gcf,'plot.png')

function y=f(x)
%分段函数
x0=0;%分段点
ix1=x<=x0;%左段
ix2=x>x0;%右段
y=zeros(1,length(x));
y1=-x;
y2=x;
y(ix1)=y1(ix1);
y(ix2)=y2(ix2);
end

5.2用@和逻辑向量

利用逻辑向量与数字向量进行算术运算。

clc,clear
f=@(x)((x<0).*-x+(x>=0).*x);
x=-1:0.1:1;
y=f(x);
plot(x,y)
axis equal
axis([-1.2 1.2 0 1.2])
grid on
xlabel('x')
ylabel('y')
title('分段函数')
saveas(gcf,'plot.png')

两个逻辑向量进行与或运算用&和|,注意&&和||不能进行向量运算。

clc,clear
close
f=@(x)((x>=0 & x<=1).*1);
x=-2:0.01:2;
y=f(x);
plot(x,y)
% axis equal
axis([-2 2 0 1.2])
grid on
xlabel('x')
ylabel('y')
%saveas(gcf,'plot1.png')


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嗑药的皮皮虾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值