永发信息网

大于等于在matlab的M函数中怎么表示

答案:3  悬赏:10  手机版
解决时间 2021-02-22 02:02
大于等于在matlab的M函数中怎么表示
最佳答案
1. m文件与m函数的区别
所谓 MATLAB 程序,大致分为两类:

1

M 脚本文件 (M-Script) 和 M 函数 (M-function), 它们均是普通的 ASCII 码构成的文件。

  M 脚本文件中包含一族由 MATLAB 语言所支持的语句,它类似于 DOS 下的批处理文件,它的执行方式很简单,用户只需在 MATLAB 的提示符 >> 下键入该 M 文件的文件名,这样 MATLAB 就会自动执行该 M 文件中的各条语句,并将结果直接返回到 MATLAB 的工作空间。
  M 函数格式是 MATLAB 程序设计的主流,一般情况下, 不建议您使用 M 脚本文件格式编程。
MATLAB 的 M 函数是由 function 语句引导的,其基本格式如下:

function [返回变量列表] = 函数名 (输入变量列表)
注释说明语句段, 由 % 引导
输入、返回变量格式的检测
函数体语句

2.输入变量和返回变量的个数
  这里输入和返回变量的实际个数分别由 nargin 和 nargout 两个 MATLAB 保留变量来给出,只要进入该函数,MATLAB 就将自动生成这两个变量,不论您是否直接使用这两个变量。
  返回变量如果多于 1 个,则应该用方括号将它们括起来,否则可以省去方括号。输入变量和返回变量之间用逗号来分割。
3.注释语句的使用
  注释语句段的每行语句都应该由百分号 % 引导,百分号后面的内容不执行,只起注释作用。用户采用 help 命令则可以显示出来注释语句段的内容。此外,正规的变量个数检测也是必要的。如果输入或返回变量格式不正确,则应该给出相应的提示。我们将通过下面的例子来演示函数编程的格式与方法。

假设我们想生成一个 nxm 阶的 Hilbert 矩阵, 它的第 i 行第 j 列的元素值为 1/(i+j-1)。我们想在编写的函数中实现下面几点:
如果只给出一个输入参数,则会自动生成一个方阵,即令 m=n
在函数中给出合适的帮助信息,包括基本功能、调用方式和参数说明
检测输入和返回变量的个数,如果有错误则给出错误信息
 

如果调用时不要求返回变量,则将显示结果矩阵。其实在编写程序时养成一个好的习惯,无论对程序设计者还是对程序的维护者、使用者都是大有裨益的。

4. 示例程序

采用 MATLAB 函数编写格式和上述要求,我们可以编写出一个函数

function A=myhilb(n, m)
%MYHILB a demonstrative M-function.
% A=MYHILB(N, M) generates an N by M Hilbert matrix A.
% A=MYHILB(N) generates an N by N square Hilbert matrix.
% MYHILB(N,M) displays ONLY the Hilbert matrix, but do not return any
% matrix back to the calling function.
%
%See also: HILB.

% Designed by Professor Dingyu XUE, Northeastern University, PRC
% 5 April, 1995, Last modified by DYX at 21 March, 2000
if nargout>1, error('Too many output arguments.'); end
if nargin==1, m=n;
elseif nargin==0 | nargin>2
error('Wrong number of iutput arguments.');
end
A1=zeros(n,m);
for i=1: n
for j=1:m
A1(i,j)=1/(i+j-1);
end, end
if nargout==1, A=A1; elseif nargout==0, disp(A1); end

这样规范编写的函数用 help 命令可以显示出其帮助信息:

>> help myhilb
MYHILB a demonstrative M-function.
A=MYHILB(N, M) generates an N by M Hilbert matrix A.
A=MYHILB(N) generates an N by N square Hilbert matrix.
MYHILB(N,M) displays ONLY the Hilbert matrix, but do not return any
matrix back to the calling function.

See also: HILB.

有了函数之后,可以采用下面的各种方法来调用它,并产生出所需的结果。

>> A=myhilb(3,4)
A =
1.0000 0.5000 0.3333 0.2500
0.5000 0.3333 0.2500 0.2000
0.3333 0.2500 0.2000 0.1667
>> A=myhilb(4)
A =
1.0000 0.5000 0.3333 0.2500
0.5000 0.3333 0.2500 0.2000
0.3333 0.2500 0.2000 0.1667
0.2500 0.2000 0.1667 0.1429
>> myhilb(4)
1.0000 0.5000 0.3333 0.2500
0.5000 0.3333 0.2500 0.2000
0.3333 0.2500 0.2000 0.1667
0.2500 0.2000 0.1667 0.1429

5.MATLAB 工具箱编写技巧

  放入一个目录中的为某种目的专门编写的一组 MATLAB 函数就可以组成一个工具箱。 从某种意义上说,任何一个 MATLAB 语言的使用者都可以是工具箱的作者。在一个工具箱中,应该有一个名为 Contents.m 的文件,用来描述工具箱中所有 MATLAB 函数的名称和意义。

在该文件中第 1 行应该给出该工具箱的名称,在第2行中给出该工具箱的版本与修改时间等信息。
然后分类地给出该工具箱中各类函数的最基本功能。
注意,本文件中所有的语句都应该是注释语句,由百分号 % 引导,空行也应该由 % 引导。
全部回答
3<=abs(x)&abs(x)<=5
求出一维数组里绝对值在3到5之间的数(其他置0)吗?如a=[1,2,3,4,2,3,-6,-3,-5,-8]
得到[0,0,1,1,0,1,0,1,1,0]
这里表示的是数组里绝对值在3到5之间的数所在的位置,若要求出是什么数,可以令
k=[0,0,1,1,0,1,0,1,1,0]
a(k)就可以了。
就是>=啊...追问条件3=</x/=<5,怎么表示啊,另外,你能求出一维数组里绝对值在3到5之间的数(其他置0)吗?如a=[1,2,3,4,2,3,-6,-3,-5,-8]得到[0,0,1,1,0,1,0,1,1,0]追答abs(x)>=3&&abs(x)<=5
b=zeros(sizes(a));
for i=1:length(a)
if abs(a(i))>=3&&abs(a(i))<=5
b(i)=1;
end
end
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我现在想用钱 怎么办理贷款啊
舰艇吨级是什么意思
丑四壕在什么地方啊,我要过去处理事情
高考考了200分,双c能上三本吗?
比如,我创建一个表包含了一个blob数据类型,
请问.vir是什么文件格式
WLAN版的平板电脑是不是可以随时随地都能连上
炫舞仙灵幻境怎么坐船
管易怎么样?管易好不好?
脱硫塔及系统 CAD图纸 谢谢
大16开本的阿衰是盗版吗
苹果可不可以放在冰箱里?如果放了,苹果的味道
蒙阴县人均收入多少钱
本人20岁,请问大家知不知道一些男士穿衣搭配
分散和友好的反义词
推荐资讯
华泰傢私广场地址有知道的么?有点事想过去
江阴多少个电厂
胃液中胃蛋白酶是由哪种细胞分泌的:A. 壁细
我家地暖上贴的地砖,我感觉地面打的很厚,可
【防范意识】为什么要提高家庭安全防范意识
以下选项不属于心理活动发展内容的是A.注意的
电脑能拨号但是路由器不能拨号
2万存三年1.5份利息怎么算
文档结构图如何设置
柏杨和小日本有什么渊源?为什么那么推崇德川
布拉朵地址有知道的么?有点事想过去
长沙话 妹子 是什么意思?是女儿还是妹妹?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?