matlab中m文件以及流程控制

m文件基本结构:function[output]=functionname(input);
m文件说明:函数定义行,H1备注说明函数用途,可作为索引。。。。

.运算是相同大小的矩阵,对应元素运算。
关于/(右除)正常的,\(左除)不正常的。

[C,I]=max(...),返回最大值C,和位置索引I。

库函数improd(A,B)=A.*B;

关于 关系运算法:A==(或者>,<,>=,<=)B;ENTER;比较A B对应元素,若相等则为1,不等为0;

逻辑流程控制:
(1)if expression
statements
end
(2)for index1=start1:perlength:end
statements1
end
(3)while expression1(为真时,进入循环)
statements
end
(4)break,遇到break跳出循环,执行循环外的第一句,仅跳出包含它的最内层。
(5)switch switch_expression
case case_expression
statement(s)
case{case_expression1,case_expression2,...}仅用于unit8,unit6,double类型图像
statement(s)
otherwise
statement(s)
end

举例
a=10;
b=5;
while a>0
a=a-1;
while b>0
b=b-1;
end
end

A==imread('C:\MATLAB7\work\DigitalImageProcessing(Gonzalez)\data\d.jpg');%读取图像
for q=0:5:20
filename=(sprintf('qq_%3d.jpg',q);
imwrite(A,filename,'quality',q);
end

B=imread('C:\MATLAB7\work\DigitalImageProcessing(Gonzalez)\data\d.jpg');%读取图像
A=im2bw(B);
switch newclass
case 'unit8'
g=im2unit8(A);
case 'uint16'
g=im2unit16(A);
case 'double'
g=im2double(A);
otherwise
error('unknown or improper image class.')
end

关于代码优化:
matlab为数组运算而设计的编程语言,故而尽量数组化运算。
一维数组化:x=0:100;二维数组化[C,R]=meshgrid(x,y);

计算运行时间:tic(开始计时) 程序 t1=toc;(结束计时)。t1就是运行时间。

关于交互式I/O编程:
(1)disp(.)用于显示.到屏幕上,而没有ans等 等号左边的内容,可显示任何东西文字字符串等等,文字要加''。
(2)t=input(' 输入文字(对要输入对象的说明) ','s'),s为字符串或数组。若单纯输入数字,则使用n=str2num(t);
若输入既有字符又有数字,用[a,b,c,d...]=strread(t,'%f%q%q',',')提取。
>> t=input('输入名字,年龄,性别','s')
输入名字,年龄,性别王,23,男
t =
王,23,男
>> [a,b,c]=strread(t,'%c%f%c',',')

(3)混合数组以及提取:c={'sun',[1 2 3;2 3 4],3};提取c{1}=sun......
提取另一种方式,将c作为结构体,用c.char_string搜索字符串,用c.matrix搜索矩阵,用c.scalar搜索数字。

转载于:https://www.cnblogs.com/endlesshunger/p/4438113.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值