matlab怎么自定义函数其自变量是数组

2021-01-02 20:48:15 字数 6117 阅读 6391

1楼:匿名用户

很简单:如下

function b=amplify(a)b=a*10;

要点:该方法是使用m文件定义函数,也就是说一个函数保存成一个.m文件,且文件名与函数名相同,那么当调用函数时,会自动执行该m文件。

函数定义形式

function =fun**ame()

语句。就是说如果有多个输出变量则使用[ ]约束,互相之间以逗号隔开,输入变量以()约束,同样以逗号隔开。若只有一个输出则可以省去。

函数体部分就像普通matlab语句写就行了,不必像c语言那样使用return语句来表示返回值,只要函数体中与函数左边变量名相同就是返回值。

matlab函数怎么输出数组

2楼:烛龙一现

temp.m文件中写如下函数:

function array=temp()array=[1,2,3,4,5];

endarray就是函数的返回值,你给它赋什么值,它就返回什么。

专之后在***mand调用即可如

属>> temp

ans =

1 2 3 4 5也可以这样调用

>>arr=temp;

只是把函数的返回值保存在变量arr中。

matlab如何定义数组函数,

3楼:匿名用户

du参照以下编zhi程:

如daot1=0:0.001/16:0.002;

y1=sin(2000*pi*t1);

y2=cos(2000*pi*t1);

y3=sin(2000*pi*t1)+cos(2000*pi*t1);

y4=sin(2000*pi*t1).*cos(2000*pi*t1);

y=[y1; y2; y3; y4]

(本版身y1/y2/y3/y4是行

向量权)

4楼:祝您每天开心

matlab函数、数组、矩阵 :

1. 基本运算与函数

在matlab下进行基本数内**算,只需将运算式直接打入

容提示号(>>)之後,并按入enter键即可。例如: >> (5*2+1.3-0.8)*10/25 ans =4.2000

matlab会将运算结果直接存入一变数ans,代表matlab运算後的答案(answer)并显示其数值於萤幕上。

我们也可将上述运算式的结果设定给另一个变数x: x = (5*2+1.3-0.8)*10^2/25 x = 42

此时matlab会直接显示x的值。由上例可知,matlab认识所有一般常用到的加(+)、减(-)、乘(*)、除(/)的数**算符号,以及幂次运算(^)。

若不想让matlab每次都显示运算结果,只需在运算式最後加上分号(;)即可,如下例: y = sin(10)*exp(-0.3*4^2);

若要显示变数y的值,直接键入y即可: >>y y =-0.0045

在上例中,sin是正弦函数,exp是指数函数,这些都是matlab常用到的数学函数。

5楼:匿名用户

把上边的几行抄过去运行就行了

6楼:天哥

写成 y=[y1; y2; y3; y4]; 本身y1/y2/y3/y4是行向量!

matlab自定义函数输入参数有的是一个整数变量,有的是数组变量的情况怎么写**和调用

7楼:俊驰_燕

1、变量就是a,然后bai在函数中判du断a是一个数zhi,还是一个数组。num = length(a);然后dao看num的大小,如版果是数组,必然大于1,否则权

就等于1。

2、matlab是美国mathworks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括matlab和simulink两大部分。

3、所谓数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式。

这些按序排列的同类数据元素的集合称为数组。

8楼:转基因牛

变量就是a

然后在函数中判断a是一个数还是一个数组,如果是数,你有处理方法,如果是变量数组,你有其他处理方法

matlab 自定义函数 输入一个向量 结果只输出一个值

9楼:匿名用户

function s=fll(year)

s[1]=0;

for i=1:year

s[i+1]=(s[i]+60000).*(1+0.058);

end这样改出来就是向量了

10楼:匿名用户

因为你的s就是一个数,当然输出的就是一个值了

matlab自定义函数,可以输出多个数组么?

11楼:天蝎神经侠侣

switch语句和if语句类似,相当于多项选择。switch语句根据变量或表达式的取值不同分别执行不同的命令。其基本的调用格式为:

switch 表达式(标量或字符串) %表达式为一标量或字符串

case值一

语句体一 %当表达式的值=值一时,执行语句体一,然后跳出该结构

case值二

语句体二 %当表达式的值=值二时,执行语句体二,然后跳出该结构

otherwise

语句体 %表达式的值不等于前面所有检测值时,则执行此组语句

end用户用学生的成绩管理作为演示switch结构及结构体数组的应用,划分区域:满分(100)、优秀(90—99)、良好(80—89)、及格(60—79)、不及格(<60):

>> for i=l:10

a(i)=89+i;

b(i)=79+i;

c(i)=69+i;

d(i)=59+i;

end>> c=[d,c];

>> names={’zhang’,’wang’,’li’,’zhao’,’liu’); %元胞数组

>> score=(85,72,93,54,100);

>> rank=cell(1,5);

创建一个含有5个元素的结构体数组s,它有三个域:name、score、rank:

>> s=struct(’name’,name,’score’,score,’rank’,rank);

根据学生的分数,求出相应的等级:

>> for i=1:5

switch s(i).score

case 100

s(i).rank=’满分’;

case a

s(i).rank=’优秀’;

case b

s(i).rank=’良好’;

case c

s(i).rank=’及格’;

otherwise

s(i).rank=’不及格’;

endend

将学生的姓名,得分,登记等信息打印出来:

>> disp([’学生姓名 ’,’得分 ’,’等级’]);

>> for i=1:5

disp([s(i).name,blanks(6),num2str(s(i).score),blanks(6),s(i).rank]);

end学生姓名 得分 等级

zhang 85 良好

wang 72 及格

li 93 优秀

zhao 54 不及格

liu 100 满分

12楼:齐霸王在江湖梦

可以输出多个

是不是因为你在函数中没有给输出变量赋值?

function [a,b,c]=test1(input)if input==1

a=ones(2);

b=ones(3);

c=ones(4);

else

a=zeros(2);

b=zeros(3);

c=zeros(4);

end函数调用

>> [a1,b1,c1]=test1(1)a1 =

1 1

1 1

b1 =

1 1 1

1 1 1

1 1 1

c1 =

1 1 1 1

1 1 1 1

1 1 1 1

1 1 1 1

>> [a1,b1,c1]=test1(0)a1 =

0 0

0 0

b1 =

0 0 0

0 0 0

0 0 0

c1 =

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

13楼:匿名用户

可以输出多个

是不是因为你在函数中没有给输出变量赋值?62616964757a686964616fe4b893e5b19e31333239306637

给一个例子

function [a,b,c]=test1(input)if input==1

a=ones(2);

b=ones(3);

c=ones(4);

else

a=zeros(2);

b=zeros(3);

c=zeros(4);

end函数调用

>> [a1,b1,c1]=test1(1)a1 =

1 1

1 1

b1 =

1 1 1

1 1 1

1 1 1

c1 =

1 1 1 1

1 1 1 1

1 1 1 1

1 1 1 1

>> [a1,b1,c1]=test1(0)a1 =

0 0

0 0

b1 =

0 0 0

0 0 0

0 0 0

c1 =

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

matlab中的函数自变量为一个数组,结因变量却为一个数值?

14楼:匿名用户

time=0:100:40700;这条语句将time定义为一个列向量而非单元素变量,

所以在 for t=0:dt:time 这里首先出现问题,这里按照语法,time应为单元素变量,所以t会卡在

t=0,而不会继续循环下去。

其次 dt_test=dt_test+100*((t+dt)^0.25-t^0.25); 在for循环下,t每层循环都是在对dt_test这个单元素进行覆盖,从而导致输出结果dt_test为单个数值。

matlab制作一个脚本 功能为用户手动输入一个函数 和一个数字 输出自变量为这个数字时的函数值 5

15楼:二中混过

f=input('请输入函数:');

fun1=str2func(['@(x)',f]);

x=input('请输入自变量:');

fprintf('函数值为:%d\n',fun1(x))>> fun

请输入函数:'x^2+4'

请输入自变量:4

函数值为:20

自相关函数的定义,到底什么是相关函数,自相关函数

1楼 百度用户 统计学信号处理 ,其中 是卷积算符,为取共轭。 同一时间函数在瞬时t和t a的两个值相乘积的平均值作为延迟时间t的函数,它是信号与延迟后信号之间相似性的度量。延迟时间为零时,则成为信号的均方值,此时它的值最大。 到底什么是相关函数,自相关函数 2楼 free情到深处腿 1 相关函数是...

python中怎么在自定义函数调用另外函数中的参数

1楼 匿名用户 def a global q q 1 2 return q def b a c 2 q print c b 5 q 3函数中的变量在外面调用,需要申明为全局变量 python 一个函数怎么使用另一个函数内的变量 2楼 一猪之哀伤一 例如一个函数内有一个变量i,怎么在函数外或另一个函数...

反比例函数自变量取值范围,反比例函数取值范围怎么求

1楼 猪猪风吹叶 一般情况下 自变量 x 的取值范围是 x 0 的一切实数 例 若y k x 2时反比例函数,则x 。 答 因为x 2 0,所以x 2 反比例函数取值范围怎么求 2楼 y k x 它的右半边是分式 所以分母不为0 就够了 如果是实际问题 那就要根据实际情况来求 一般注意是否不能为负数...