matlab串口程序

matlab串口程序
matlab串口程序

function serial_communication2_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;

warning('off');

javaFrame = get(hObject, 'JavaFrame');

javaFrame.setFigureIcon(javax.swing.ImageIcon('icon.jpg'));

%% 初始化参数

hasData = false; %表征串口是否接收到数据

isShow = false; %表征是否正在进行数据显示,即是否正在执行函数dataDisp isStopDisp = false; %表征是否按下了【停止显示】按钮

isHexDisp = false; %表征是否勾选了【十六进制显示】

isHexSend = false; %表征是否勾选了【十六进制发送】

numRec = 0; %接收字符计数

numSend = 0; %发送字符计数

strRec = ''; %已接收的字符串

%% 将上述参数作为应用数据,存入窗口对象内

setappdata(hObject, 'hasData', hasData);

setappdata(hObject, 'strRec', strRec);

setappdata(hObject, 'numRec', numRec);

setappdata(hObject, 'numSend', numSend);

setappdata(hObject, 'isShow', isShow);

setappdata(hObject, 'isStopDisp', isStopDisp);

setappdata(hObject, 'isHexDisp', isHexDisp);

setappdata(hObject, 'isHexSend', isHexSend);

guidata(hObject, handles);

function start_serial_Callback(hObject, eventdata, handles)

% 【打开/关闭串口】按钮的回调函数

% 打开串口,并初始化相关参数

%% 若按下【打开串口】按钮,打开串口

if get(hObject, 'value')

%% 获取串口的端口名

com_n = sprintf('com%d', get(https://www.360docs.net/doc/753411901.html,, 'value'));

%% 获取波特率

rates = [300 600 1200 2400 4800 9600 19200 38400 43000 56000 57600 115200];

baud_rate = rates(get(handles.rate, 'value'));

%% 获取校验位设置

switch get(handles.jiaoyan, 'value')

case 1

jiaoyan = 'none';

case 2

jiaoyan = 'odd';

case 3

jiaoyan = 'even';

end

%% 获取数据位个数

data_bits = 5 + get(handles.data_bits, 'value');

%% 获取停止位个数

stop_bits = get(handles.stop_bits, 'value');

%% 创建串口对象

scom = serial(com_n);

%% 配置串口属性,指定其回调函数

set(scom, 'BaudRate', baud_rate, 'Parity', jiaoyan, 'DataBits',...

data_bits, 'StopBits', stop_bits, 'BytesAvailableFcnCount', 10,...

'BytesAvailableFcnMode', 'byte', 'BytesAvailableFcn', {@bytes, handles},...

'TimerPeriod', 0.05, 'timerfcn', {@dataDisp, handles});

%% 将串口对象的句柄作为用户数据,存入窗口对象

set(handles.figure1, 'UserData', scom);

%% 尝试打开串口

try

fopen(scom); %打开串口

catch % 若串口打开失败,提示“串口不可获得!”

msgbox('串口不可获得!');

set(hObject, 'value', 0); %弹起本按钮

return;

end

%% 打开串口后,允许串口发送数据,清空接收显示区,点亮串口状态指示灯,%% 并更改本按钮文本为“关闭串口”

set(handles.period_send, 'Enable', 'on'); %启用【自动发送】按钮

set(handles.manual_send, 'Enable', 'on'); %启用【手动发送】按钮

set(handles.xianshi, 'string', ''); %清空接收显示区

set(handles.activex1, 'value', 1); %点亮串口状态指示灯

set(hObject, 'String', '关闭串口'); %设置本按钮文本为“关闭串口”

else %若关闭串口

%% 停止并删除定时器

t = timerfind;

if ~isempty(t)

stop(t);

delete(t);

end

%% 停止并删除串口对象

scoms = instrfind;

stopasync(scoms);

fclose(scoms);

delete(scoms);

%% 禁用【自动发送】和【手动发送】按钮,熄灭串口状态指示灯

set(handles.period_send, 'Enable', 'off', 'value', 0); %禁用【自动发送】按钮

set(handles.manual_send, 'Enable', 'off'); %禁用【手动发送】按钮

set(handles.activex1, 'value', 0); %熄灭串口状态指示灯

end

function dataDisp(obj, event, handles)

global value

% 串口的TimerFcn回调函数

% 串口数据显示

%% 获取参数

hasData = getappdata(handles.figure1, 'hasData'); %串口是否收到数据

strRec = getappdata(handles.figure1, 'strRec'); %串口数据的字符串形式,定时显示该数据numRec = getappdata(handles.figure1, 'numRec'); %串口接收到的数据个数

%% 若串口没有接收到数据,先尝试接收串口数据

if ~hasData

bytes(obj, event, handles);

end

%% 若串口有数据,显示串口数据

if hasData

%% 给数据显示模块加互斥锁

%% 在执行显示数据模块时,不接受串口数据,即不执行BytesAvailableFcn回调函数setappdata(handles.figure1, 'isShow', true);

%% 若要显示的字符串长度超过10000,清空显示区

if length(strRec) > 10000

strRec = '';

setappdata(handles.figure1, 'strRec', strRec);

end

%% 显示数据

set(handles.xianshi, 'string', strRec);

%%

value=get(handles.xianshi,'string');

value=textscan(value,'%s'); %读取其中的数据

value=value{1};%得到数据,存储到value中

value=hex2dec(value);

% value=cellfun(@str2double,value);%把得到的字符转换成数字

figure(1),plot(value)

%% 更新接收计数

set(handles.rec,'string', numRec);

%% 更新hasData标志,表明串口数据已经显示

setappdata(handles.figure1, 'hasData', false);

%% 给数据显示模块解锁

setappdata(handles.figure1, 'isShow', false);

end

function bytes(obj, ~, handles)

% 串口的BytesAvailableFcn回调函数

% 串口接收数据

%% 获取参数

strRec = getappdata(handles.figure1, 'strRec'); %获取串口要显示的数据

numRec = getappdata(handles.figure1, 'numRec'); %获取串口已接收数据的个数isStopDisp = getappdata(handles.figure1, 'isStopDisp'); %是否按下了【停止显示】按钮isHexDisp = getappdata(handles.figure1, 'isHexDisp'); %是否十六进制显示

isShow = getappdata(handles.figure1, 'isShow'); %是否正在执行显示数据操作

%% 若正在执行数据显示操作,暂不接收串口数据

if isShow

return;

end

%% 获取串口可获取的数据个数

n = get(obj, 'BytesAvailable');

%% 若串口有数据,接收所有数据

if n

%% 更新hasData参数,表明串口有数据需要显示

setappdata(handles.figure1, 'hasData', true);

%% 读取串口数据

a = fread(obj, n, 'uchar');

%% 若没有停止显示,将接收到的数据解算出来,准备显示

if ~isStopDisp

%% 根据进制显示的状态,解析数据为要显示的字符串

if ~isHexDisp

c = char(a');

else

strHex = dec2hex(a')';

strHex2 = [strHex; blanks(size(a, 1))];

c = strHex2(:)';

end

%% 更新已接收的数据个数

numRec = numRec + size(a, 1);

%% 更新要显示的字符串

strRec = [strRec c];

end

%% 更新参数

setappdata(handles.figure1, 'numRec', numRec); %更新已接收的数据个数

setappdata(handles.figure1, 'strRec', strRec); %更新要显示的字符串

end

function qingkong_Callback(hObject, eventdata, handles)

%% 清空要显示的字符串

setappdata(handles.figure1, 'strRec', '');

%% 清空显示

set(handles.xianshi, 'String', '');

function stop_disp_Callback(hObject, eventdata, handles)

%% 根据【停止显示】按钮的状态,更新isStopDisp参数

if get(hObject, 'Value')

isStopDisp = true;

else

isStopDisp = false;

end

setappdata(handles.figure1, 'isStopDisp', isStopDisp);

function hex_disp_Callback(hObject, eventdata, handles)

%% 根据【十六进制显示】复选框的状态,更新isHexDisp参数

if get(hObject, 'Value')

isHexDisp = true;

else

isHexDisp = false;

end

setappdata(handles.figure1, 'isHexDisp', isHexDisp);

function manual_send_Callback(hObject, eventdata, handles)

scom = get(handles.figure1, 'UserData');

numSend = getappdata(handles.figure1, 'numSend');

val = get(handles.sends, 'UserData');

numSend = numSend + length(val);

set(handles.trans, 'string', num2str(numSend));

setappdata(handles.figure1, 'numSend', numSend);

%% 若要发送的数据不为空,发送数据

if ~isempty(val)

%% 设置倒计数的初值

n = 1000;

while n

%% 获取串口的传输状态,若串口没有正在写数据,写入数据

str = get(scom, 'TransferStatus');

if ~(strcmp(str, 'write') || strcmp(str, 'read&write'))

fwrite(scom, val, 'uint8', 'async'); %数据写入串口

break;

end

n = n - 1; %倒计数

end

end

function clear_send_Callback(hObject, eventdata, handles)

%% 清空发送区

set(handles.sends, 'string', '')

%% 更新要发送的数据

set(handles.sends, 'UserData', []);

function checkbox2_Callback(hObject, eventdata, handles)

function period_send_Callback(hObject, eventdata, handles)

% 【自动发送】按钮的Callback回调函数

%% 若按下【自动发送】按钮,启动定时器;否则,停止并删除定时器

if get(hObject, 'value')

t1 = 0.001 * str2double(get(handles.period1, 'string'));%获取定时器周期

t = timer('ExecutionMode','fixedrate', 'Period', t1, 'TimerFcn',...

{@manual_send_Callback, handles}); %创建定时器

set(handles.period1, 'Enable', 'off'); %禁用设置定时器周期的Edit Text对象

set(handles.sends, 'Enable', 'inactive'); %禁用数据发送编辑区

start(t); %启动定时器

else

set(handles.period1, 'Enable', 'on'); %启用设置定时器周期的Edit Text对象

set(handles.sends, 'Enable', 'on'); %启用数据发送编辑区

t = timerfind; %查找定时器

stop(t); %停止定时器

delete(t); %删除定时器

end

function period1_Callback(hObject, eventdata, handles)

function period1_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');

end

function clear_count_Callback(hObject, eventdata, handles)

%% 计数清零,并更新参数numRec和numSend

set([handles.rec, handles.trans], 'string', '0')

setappdata(handles.figure1, 'numRec', 0);

setappdata(handles.figure1, 'numSend', 0);

function copy_data_Callback(hObject, eventdata, handles)

%% 设置是否允许复制接收数据显示区内的数据

if get(hObject,'value')

set(handles.xianshi, 'enable', 'on');

else

set(handles.xianshi, 'enable', 'inactive');

end

function figure1_CloseRequestFcn(hObject, eventdata, handles)

% 关闭窗口时,检查定时器和串口是否已关闭

% 若没有关闭,则先关闭

%% 查找定时器

t = timerfind;

%% 若存在定时器对象,停止并关闭

if ~isempty(t)

stop(t); %若定时器没有停止,则停止定时器

delete(t);

end

%% 查找串口对象

scoms = instrfind;

%% 尝试停止、关闭删除串口对象

try

stopasync(scoms);

fclose(scoms);

delete(scoms);

end

%% 关闭窗口

delete(hObject);

function hex_send_Callback(hObject, eventdata, handles)

%% 根据【十六进制发送】复选框的状态,更新isHexSend参数

if get(hObject,'value')

isHexSend = true;

else

isHexSend = false;

end

setappdata(handles.figure1, 'isHexSend', isHexSend);

%% 更新要发送的数据

sends_Callback(handles.sends, eventdata, handles);

function sends_Callback(hObject, eventdata, handles)

% 数据发送编辑区的Callback回调函数

% 更新要发送的数据

%% 获取数据发送编辑区的字符串

str = get(hObject, 'string');

%% 获取参数isHexSend的值

isHexSend = getappdata(handles.figure1, 'isHexSend');

if ~isHexSend %若为ASCII值形式发送,直接将字符串转化为对应的数值

val = double(str);

else %若为十六进制发送,获取要发送的数据

n = find(str == ' '); %查找空格

n =[0 n length(str)+1]; %空格的索引值

%% 每两个相邻空格之间的字符串为数值的十六进制形式,将其转化为数值

for i = 1 : length(n)-1

temp = str(n(i)+1 : n(i+1)-1); %获得每段数据的长度,为数据转换为十进制做准备

if ~rem(length(temp), 2)

b{i} = reshape(temp, 2, [])'; %将每段十六进制字符串转化为单元数组else

break;

end

end

val = hex2dec(b)'; %将十六进制字符串转化为十进制数,等待写入串口

end

%% 更新要显示的数据

set(hObject, 'UserData', val);

% --- Executes on button press in pushbutton3.

function pushbutton3_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton3 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

global value

h_temp=findobj('tag','edit2');

outpath=get(h_temp,'String');

outpath=[outpath '\'];

str_img=strcat('data','.txt');

value=get(handles.xianshi,'string');

value=textscan(value,'%s'); %读取其中的数据

value=value{1};%得到数据,存储到value中

value=hex2dec(value);

% value=cellfun(@str2double,value);%把得到的字符转换成数字

save([outpath str_img],'value','-ascii');

(完整版)MATLAB常用函数大全

一、MATLAB常用的基本数学函数 abs(x):纯量的绝对值或向量的长度 angle(z):复数z的相角(Phase angle) sqrt(x):开平方 real(z):复数z的实部 imag(z):复数z的虚部 conj(z):复数z的共轭复数 round(x):四舍五入至最近整数 fix(x):无论正负,舍去小数至最近整数 floor(x):地板函数,即舍去正小数至最近整数ceil(x):天花板函数,即加入正小数至最近整数rat(x):将实数x化为分数表示 rats(x):将实数x化为多项分数展开 sign(x):符号函数(Signum function)。 当x<0时,sign(x)=-1; 当x=0时,sign(x)=0; 当x>0时,sign(x)=1。 rem(x,y):求x除以y的馀数 gcd(x,y):整数x和y的最大公因数 lcm(x,y):整数x和y的最小公倍数 exp(x):自然指数 pow2(x):2的指数 log(x):以e为底的对数,即自然对数或 log2(x):以2为底的对数 log10(x):以10为底的对数 二、MATLAB常用的三角函数 sin(x):正弦函数 cos(x):余弦函数

tan(x):正切函数 asin(x):反正弦函数 acos(x):反馀弦函数 atan(x):反正切函数 atan2(x,y):四象限的反正切函数 sinh(x):超越正弦函数 cosh(x):超越馀弦函数 tanh(x):超越正切函数 asinh(x):反超越正弦函数 acosh(x):反超越馀弦函数 atanh(x):反超越正切函数 三、适用於向量的常用函数有: min(x): 向量x的元素的最小值 max(x): 向量x的元素的最大值 mean(x): 向量x的元素的平均值 median(x): 向量x的元素的中位数 std(x): 向量x的元素的标准差 diff(x): 向量x的相邻元素的差 sort(x): 对向量x的元素进行排序(Sorting)length(x): 向量x的元素个数 norm(x): 向量x的欧氏(Euclidean)长度sum(x): 向量x的元素总和 prod(x): 向量x的元素总乘积 cumsum(x): 向量x的累计元素总和cumprod(x): 向量x的累计元素总乘积 dot(x, y): 向量x和y的内积 cross(x, y): 向量x和y的外积 四、MATLAB的永久常数

基于MATLAB实时串口数据采集与曲线显示

全日制普通本科生毕业设计 基于MATLAB实时串口数据采集与曲线显示REAL-TIME SERIAL DATA ACQUISITION AND FIGURE SHOW BASED ON MATLAB 学生姓名: 学号: 年级专业及班级: 指导老师及职称: 学院: 提交日期:2011年5月

全日制普通本科生毕业论文(设计) 诚信声明 本人郑重声明:所呈交的本科毕业论文(设计)是本人在指导老师的指导下,进行研究工作所取得的成果,成果不存在知识产权争议。除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体在文中均作了明确的说明并表示了谢意。本人完全意识到本声明的法律结果由本人承担。 毕业论文(设计)作者签名: 年月日

目录 摘要 (1) 关键词 (1) 1前言 (2) 1.1 Matlab实时串口数据采集研究现状及发展趋势 (2) 1.2研究的目的和意义 (4) 1.3论文的组织结构 (5) 2Matlab下实时串口数据采集概要 (5) 2.1 Matlab的Serial类 (5) 2.2 数据采集 (6) 2.3曲线显示 (7) 3实时串口数据采集与曲线显示的实现 (8) 3.1实时串口通信的实现 (8) 3.2数据采集的实现 (9) 3.3曲线显示GUI的实现 (10) 4基于MATLAB的实时串口数据采集与曲线显示的具体做法 (12) 4.1数据采集的一般流程 (12) 4.1.1创建接口对象并设置属性 (12) 4.1.2打开串口设备对象 (12) 4.1.3读写串口操作 (13) 4.1.4关闭并清除设备对象 (13) 4.2基于Matlab中断方式的实时串行通信编程 (13) 4.3绘制采集数据的曲线波形和数据显示 (14) 4.3.1绘制曲线波形 (14)

Matlab与51单片机的串口通信

数字信号处理2012电子信息工程专业答辩报告

Matlab与51单片机的串口通信 一、简介 从Matlab6.0版本开始,Mathworks公司在软件中增加了设备控制箱(instrument control toolbox),提供了对RS-232/RS-485通信标准串口(九针串口)通信正式支持(本实验采用USB转串口)利用该工具箱serial类及instrcallback()回调函数,能可靠地进行实时串地通信。Matlab支持面向对象技术,用一个对象将计算机串口封装起来,只要创建串口对象,对串口对象操作就是对串口操作,非常方便。使用serial函数就可创建串口对象,通过定义串口对象的属性,能定义串口的通信模式,从串口对象属性也能了解串口的状态,即可以通过MATLAB的串口通讯函数读写数据。 二、 Matlab串口函数 serial 创建一个串口对象,格式:s = serial('coml' ) fopen 打开串口对象,格式:fopen(s) fwrite 其他程序能对该串口进行读写操作fwrite(s,’’) fread 读取串口数据,格式: fread(s) fclose 关闭串口对象,格式:fclose(s) free 解除Matlab对串口对象的控制,使 delete 删除对象s,格式:delete(s) clear 从工作空间中删除对象s,格式:clear(s) 三、实现功能 利用MATLAB串口通信函数,读写51单片机(STC89C52R+)数据,运用keil编写时钟程序,烧录到单片机中,时钟程序实现的功能是实现时钟的显示,并且能用开发板上的三个按钮进行时钟的修改,一个按钮进入修改模式(复位),另两个实现时间的增减。编辑MATLAB程序,实现对单片机的控制。读写串口操作。初始化并打开串口调协对象之后,现在可以对串口设备对象进行读写操作,串口读写操作支持二进制和文本(ASCII)两种方式。当Matlab通信数据采用西方(ASCII)方式时,读写串口设备命令分别是fscanf、fpritf;当Matlab通信数据采用二进制方式时,读写串口设备命令分别是fread、fwrite。

matlab所有函数集合

一、常用命令 1.常用命令-->管理命令和函数 addpath 添加目录到MA TLAB 搜索路径 doc 在Web 浏览器上现实HTML 文档 help 显示Matlab 命令和M 文件的在线帮助 helpwin helpdesk help lookfor 在基于Matlab 搜索路径的所有M 文件中搜索关键字partialpath 部分路径名 path 所有关于路径名的处理 pathtool 一个不错的窗口路径处理界面 rmpath 删除搜索路径中指定目录 type 显示指定文件的内容 ver 版本信息 version 版本号 web 打开web 页 what 列出当前目录吓所有的M 文件 Mat 文件和 Mex 文件whatsnew 显示readme 文件 which 显示文件位置 2.常用命令-->管理变量和工作区(输入输出、内存管理等) clear 从内存中删除 disp 显示文本或数组内容 length 数组长度(最长维数) load 重新载入变量(从磁盘上) mlock 锁定文件,防止文件被错误删除 munlock 解锁文件 openvar 在数组编辑器中打开变量 pack 整理内存空间 save 保存变量到文件 8*) size 数组维数 who 列出内存变量 whos 列出内存变量,同时显示变量维数 workspace 显示工作空间窗口 3.常用命令-->管理命令控制窗口(command 窗口) clc 清空命令窗口 echo 禁止或允许显示执行过程 format 设置输出显示格式 home 光标移动到命令窗口左上角 more 设置命令窗口页输出格式 4.常用命令-->文件和工作环境 cd 改变工作目录 copyfile 复制文件 delete 删除文件和图形对象 diary 把命令窗口的人机交互保存到文件

matlab串口实时波形显示

作者:GG 功能:实现matalb与PC外设通讯 本例:串口232与外设单片机51通讯。实时监控51数据并且实时图形显示 时间:2011—9—16 简介:实现该功能使用M脚本文件和函数文件。 第一个文件连接串口和打开串口,设置了串口的一些参数和触发事件。连接串口COM5。有关该方面的知识请自行百度I/O文字流。 第二个文件是时间回调函数,相当于其他语言中例如C语言的中断函数 第三文件是关闭串口和清除列连接。并且清除中间TXT中介文件内容 下面是源文件 第一个: clear all s=serial('COM5');%打开串口 s.BytesAvailableFcnMode='byte';%设置事件触发为接受触发 s.InputBufferSize=5000;%设置接受缓冲区大小为5000个字节 s.BytesAvailableFcnCount=10;%每次接受到50个数据时候触发事件 s.BaudRate=19200;%设置通讯波特率 s.BytesAvailableFcn=@my_callback;%指向触发事件函数 fopen(s);%打开串口 第二个 function my_callback(obj,event) out=fread(obj,10,'uint8');%串口处读出50个数据 fid=fopen('G1.txt','a+');%打开文件并且追加 fprintf(fid,'%3d',out); fclose(fid); speed=textread('G1.txt','%u'); plot(speed); disp('save ok!'); end 第三个 fclose(s);%关闭串口 delete(s);%删除串口变量 clear all; fid=fopen('G1.txt','w');%清除中间文件txt a=[]; fprintf(fid,'%s',a); fclose(fid); clear all;%清除所以变量

matlab各种函数的用法

1 Text函数的用法: 用法 text(x,y,'string')在图形中指定的位置(x,y)上显示字符串string text(x,y,z,'string') 在三维图形空间中的指定位置(x,y,z)上显示字符串string 2, plot([0,z1,z12],'-b','LineWidth',3)[ ]里面表示数组. 3, x,y均为矩阵,plot命令就是画出x,y矩阵对应的二维平面的点形成的曲线。y(:,1)中逗号前是行,逗号后是列,冒号表示从几到几。所以y(:,1)表示第一列的所有元素。如果是y(3:5,1)则表示第一列的第3到第5行对应的元素。只要你的y矩阵有100列,那你当然可以将1改成100。同理,x矩阵也可以这样。 4 sym的意思是symbol,就是后面括号里面是个代数式,要进行符号运算,class()判断对象是什么类型。 5 matlab控制运算精度用的是digits和vpa这两个函数 xs = vpa(x,n) 在n位相对精度下,给出x的数值型符号结果xs xs = vpa(x) 在digits指定的精度下,给出x的数值型符号结果xs

digits用于规定运算精度,比如: digits(20); 这个语句就规定了运算精度是20位有效数字。但并不是规定了就可以使用,因为实际编程中,我们可能有些运算需要控制精度,而有些不需要控制。vpa就用于解决这个问题,凡是用需要控制精度的,我们都对运算表达式使用vpa函数。例如: digits(5); a=vpa(sqrt(2)); 这样a的值就是1.4142,而不是准确的1.4880 又如: digits(5); a=vpa(sqrt(2)); b=sqrt(2); 这样a的值是1.4142,b没有用vpa函数,所以b是1.4880...... 6

matlab串口通信

摘要:结合单片机和Matlab两者优点,基于事件驱动中断通信机制,提出一种Matlab环境下PC机与单片机实时串行通信及数据处理方法;完成单片机数据采集系统与PC机RS-232/RS-485串行通信及其通信数据分析处理、文件存储、FIR滤波及图形显示;简化系统开发流程,提高开发效率。该方法已成功应用于一个PIC16F876单片机应用系统实例之中。 关键词:PIC16F876 Matlab 串口通信 RS-232 事件驱动回调函数 引言 Matlab是由美国Mathworks公司开发面向理论分析研究、工程计算数据处理和缓图一套具有强大功能软件系统。其中Matlab语言是一种以矩阵为基本运算单元解释执行高级语言,编程简例,只要几条语句就能实现诸如FFT变换、FIR/IIR滤波等数据分析处理,易于掌握。从Matlab6.0版本开始,Mathworks 公司在软件中增加了设备控制箱(instrument control toolbox),提供了对RS-232/RS-485通信标准串口通信正式支持。利用该工具箱serial类及instrcallback()回调函数,能可靠地进行实时串地通信。为此,笔者充分结合单片机和Matlab优点,基于事件驱动中断通信机制,提出了一种Matlab环境下PC机与单片机实时串行通信数据处理方法,极大地简化开发流程,提高了系统开发效率。另外,与目前普遍采用基于Matlab查询方式下非实时串行通信技术相比,这种方法实用性也大大增强了。 https://www.360docs.net/doc/753411901.html,提示请看下图: 1 系统总体设计简介 下面以Mircochip公司PIC16F876单片机为下位机,PC机为上位机组成实时数据采集处理系统为例,介绍基于Matlab环境下PC机与单片机串行通信实时数据处理方法实现。数据采集系统结构框图如图1所示。PC机串口与单片机USART 口通过MAX232电平转换芯片相连,系统工作时,Matlab通过调用设备控制工具箱中serial类及相关函数。来创建串口设备对象,得到设备文件句柄,从而以操作文件方式实现对PC机串行口读写操作。因而PC机可以通过Matlab向串行

MATLAB中图像函数大全 详解及例子

图像处理函数详解——strel 功能:用于膨胀腐蚀及开闭运算等操作的结构元素对象(本论坛随即对膨胀腐蚀等操作进行讲解)。 用法:SE=strel(shape,parameters) 创建由指定形状shape对应的结构元素。其中shape的种类有 arbitrary' 'pair' 'diamond' 'periodicline' 'disk' 'rectangle' 'line' 'square' 'octagon 参数parameters一般控制SE的大小。 例子: se1=strel('square',6) %创建6*6的正方形 se2=strel('line',10,45) %创建直线长度10,角度45 se3=strel('disk',15) %创建圆盘半径15 se4=strel('ball',15,5) %创建椭圆体,半径15,高度5

图像处理函数详解——roipoly 功能:用于选择图像中的多边形区域。 用法:BW=roipoly(I,c,r) BW=roipoly(I) BW=roipoly(x,y,I,xi,yi) [BW,xi,yi]=roipoly(...) [x,y,BW,xi,yi]=roipoly(...) BW=roipoly(I,c,r)表示用向量c、r指定多边形各点的X、Y坐标。BW选中的区域为1,其他部分的值为0. BW=roipoly(I)表示建立交互式的处理界面。 BW=roipoly(x,y,I,xi,yi)表示向量x和y建立非默认的坐标系,然后在指定的坐标系下选择由向量xi,yi指定的多边形区域。 例子:I=imread('eight.tif'); c=[222272300270221194]; r=[21217512112175]; BW=roipoly(I,c,r); imshow(I)

MATLAB串口通信

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%本程序主要实现串口控制三轴转台进行自动标定,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%查找串口对象,若串口一开始被占用,需要加上这段程序释放串口,若串口没有被占用,则不需要这段程序 scoms=instrfind; %%尝试停止、关闭删除串口对象 stopasync(scoms); fclose(scoms);%关闭串口 delete(scoms);%释放串口%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% clear all;clc; %%%%%串口配置通道1 global s; s=serial('COM13');%设置串口号 s.baudrate=57600;%设置波特率 s.parity='none';%校验位 s.stopbits=1;%停止位 s.databits=7;%数据位 s.timeout=2;%一次读/写的时间最长为0.5s s.InputBufferSize=1024;%输入缓冲区 s.OutputBufferSize=1024;%输出缓冲区 %s.BytesAvailableFcnMode='byte';%中断触发事件为'bytes-available event' %s.BytesAvailableFcnCount=8;%接收缓冲区每收到n个字节时,触发回调函数%s.BytesAvailableFcn={'cmd_rec_callback',handles};%得到回调函数句柄fopen(s);%%%%打开串口 fclose(s); %%%%%串口配置通道2 global s2; s2=serial('COM15');%设置串口号 s2.baudrate=460800;%设置波特率 s2.parity='none';%校验位 s2.stopbits=1;%停止位 s2.databits=8;%数据位 s2.timeout=2;%一次读/写的时间最长为0.5s s2.InputBufferSize=1024;%输入缓冲区 s2.OutputBufferSize=1024;%输出缓冲区 %s.BytesAvailableFcnMode='byte';%中断触发事件为'bytes-available event' %s.BytesAvailableFcnCount=8;%接收缓冲区每收到n个字节时,触发回调函数%s.BytesAvailableFcn={'cmd_rec_callback',handles};%得到回调函数句柄fopen(s2);%%%%打开串口 fclose(s2); %InitPos(1)=InitPos(1)+0.3 %Pos1=num2str(InitPos(1)'); %Pos1=['Q010',Pos1(1,:),'$']; %A=[00000000000]; %fwrite(s2,A,'uint8') %AA=fread(s2,11,'uint8')

matlab 常用函数汇总

matlab 常用函数汇总 编程2008-07-10 21:45:20 阅读46 评论0 字号:大中小订阅matlab常用函数 图形注释 Title 图形标题 Xlabel X轴标记 Ylabel Y轴标记 Text 文本注释 Gtext 用鼠标放置文本 Grid 网格线 MATLAB编程语言 Function 增加新的函数 Eval 执行由MA TLAB表达式构成的字串 Feval 执行由字串指定的函数 Global 定义全局变量 程序控制流 If 条件执行语句 Else 与if命令配合使用 Elseif 与if命令配合使用 End For,while和if语句的结束 For 重复执行指定次数(循环) While 重复执行不定次数(循环) Break 终止循环的执行 Return 返回引用的函数 Error 显示信息并终止函数的执行 交互输入 Input 提示用户输入 Keyboard 像底稿文件一样使用键盘输入 Menu 产生由用户输入选择的菜单 Pause 等待用户响应 Uimenu 建立用户界面菜单 Uicontrol 建立用户界面控制 一般字符串函数 Strings MATLAB中有关字符串函数的说明 Abs 变字符串为数值 Setstr 变数值为字符串 Isstr 当变量为字符串时其值为真 Blanks 空串 Deblank 删除尾部的空串 Str2mat 从各个字符串中形成文本矩阵 Eval 执行由MA TLAB表达式组成的串 字符串比较 Strcmp , , , 比较字符串 Findstr 在一字符串中查找另一个子串

Upper 变字符串为大写 Lower 变字符串为小写 Isletter 当变量为字母时,其值为真 Isspace 当变量为空白字符时,其值为真 字符串与数值之间变换 Num2str 变数值为字符串 Int2str 变整数为字符串 Str2num 变字符串为数值 Sprintf 变数值为格式控制下的字符串 Sscanf 变字符串为格式控制下的数值 十进制与十六进制数之间变换 Hex2num 变十六进制为IEEE标准下的浮点数Hex2dec 变十六制数为十进制数 Dec2hex 变十进制数为十六进制数 建模 Append 追加系统动态特性 Augstate 变量状态作为输出 Blkbuild 从方框图中构造状态空间系统Cloop 系统的闭环 Connect 方框图建模 Conv 两个多项式的卷积 Destim 从增益矩阵中形成离散状态估计器Dreg 从增益矩阵中形成离散控制器和估计器Drmodel 产生随机离散模型 Estim 从增益矩阵中形成连续状态估计器Feedback 反馈系统连接 Ord2 产生二阶系统的A、B、C、D Pade 时延的Pade近似 Parallel 并行系统连接 Reg 从增益矩阵中形成连续控制器和估计器Rmodel 产生随机连续模型 Series 串行系统连接 Ssdelete 从模型中删除输入、输出或状态ssselect 从大系统中选择子系统 模型变换 C2d 变连续系统为离散系统 C2dm 利用指定方法变连续为离散系统 C2dt 带一延时变连续为离散系统 D2c 变离散为连续系统 D2cm 利用指定方法变离散为连续系统 Poly 变根值表示为多项式表示 Residue 部分分式展开 Ss2tf 变状态空间表示为传递函数表示 Ss2zp 变状态空间表示为零极点表示

MATLAB常用函数

另外有的txt文件还可以用load来打开其语句为 f=load('fx.txt) 字符串操作函数 1. 函数eval可以用来执行用字符串表示的表达式 2. 函数deblank可以去掉字符串末尾的所有空格 3. 函数findstr可以用来在长字符串中查找一个短的字符串,并返回相应的位置 4. 函数isstr可以用来判断变量是否为字符串 5. 函数isletter可以用来判断字符串中各个元素是否为字母 6. 函数isspace可以用来判断字符串元素是否为空格符 7. 函数lower和upper可以把字符串中的字母转为小写格式和大写格式 8. 函数strcat可以把多个字符串在水平方向上依次连接起来 9. 函数strvcat可以把多个字符串按竖直方向连接起来 10. 函数strcmp可以用来进行字符串的比较,返回1或0 11. 函数strcmpi可以用来忽略英文字母的大小写方式比较字符串 12. 函数strncmp可以用来比较字符串前N个字符是否相同 13. 函数strjust可以用来调整字符串矩阵的对齐方式 14. 函数strmatch可以用来寻找和目标字符串匹配的行 15. 函数strrep可以实现字符串的查找和替代功能 16. 函数strtok可以找出字符串第一个空格符前的字符串 17. 函数texlabel可以把字符串转换成tex软件的格式 18. 不同进制间的转换,bin2hex,bin2dec (‘字符串’);dec2hex(数)=字符串;即十进制数不为字符串,其它进制为字符串19. 函数bitget可以用来获取二进制的数位 C=bitget(A,bit),A为一个无符号整形数据 20. 函数bitset可以用来设定某个二进制数位的值 C=bitset(A,bit)指定数位的数值取反 C=bitset(A,bit,V)指定数位的数值被V替换matlab常用函数- - fliplr(a) 矩阵左右翻转 flipud(a) 矩阵上下翻转 rot90(a)矩阵逆时针旋转90度(把你的头顺时针旋转90看原数就可以知道结果了,^-^)rot90(a,k) k参数定义为逆时针旋转90*k度。 sort:将矩阵元素升序或者降序排列;默认按列,从小到大 sortrows:将行按升序排列;遵照第一列的次序。 issorted:判断矩阵是否已经排序; 1、特殊变量与常数 ans 计算结果的变量名 computer 确定运行的计算机 eps 浮点相对精度 nargin 输入参数个数 nargout 输出参数的数目 nargoutchk 有效的输出参数数目 realmax 最大正浮点数 realmin 最小正浮点数 varargin 实际输入的参量 varargout 实际返回的参量 2、基本数学函数 abs 绝对值和复数模长 ceil 向着无穷大舍入 complex 建立一个复数 conj 复数配对 cos,cosh 余弦,双曲余弦 csc,csch 余切,双曲余切 cot,coth 余切,双曲余切 exp 指数 fix 朝0方向取整 floor 朝负无穷取整 imag 复数值的虚部 lcm 最小公倍数 log 自然对数 log2 以2为底的对数 log10 常用对数 mod 有符号的求余

在MATLAB中使用串口

在MATLAB中使用串口 3.2.1 MATLAB对RS232 的串口通信设计 MATLAB是一个跨平台软件,而此处使用的是自主设计的数据采集卡,因此不具备直接访问的能力。但MATLAB的面向对象技术,已用一个对象把计算机串口封装起来,只要用Serial函数创建串口对象即可[6]。关键语句为:s=ser ial(‘COM1’,‘BaudRate’,9600)。MATLAB封装的串口对象支持对串口的异步读写操作,通过对异步读写设置,PC在执行读写串口函数时能立即返回,不必等待串口把数据串输完毕。当指定数据传输结束时就触发事件,执行事件回调函数,对事件回调函数编程,进行数据处理,这样可以大大提高数据处理的效率。MEX是MATLAB的可执行程序,是MATLAB调用其它语言编写的程序或算法的接口,在Windows环境下是扩展名为DLL的动态链接库。对MEX 编译器进行配置的方法是:在MATLAB命令窗口中运行mex-setup,选择VC6.0++作为编译器。用C语言编写端口读、写的操作程序,程序包含有头文件mex.h和m exFunction函数,mexFunction函数中nelhs表示输出变量的个数,plhs包含指向输出变量指针的数组,nrhs表示输入变量的个数,prhs包含指向输入变量指针的数组。接口编形成的MEX文件与参考文献[7][8]类似,在此不再累述。 3.2.2 数据采集与分析 (1)数据读取的MATLAB实现 主要代码为: %读取通道数及总数据量 fid=fopen(‘cardiogram.add’,‘r’); Status=fseek(fid,56,‘bof’); nDataChNum=fread(fid,1,‘long’); status=fseek(fid,204, ‘bof’); nAllDataLength=fre ad(fid,1, ‘long’); %按通道数循环读出各通道起始地址 status=fseek(fid,76, ‘bof’);% for i="1:" nDataChNum pChannelAdr(i)=fread(fid,1, ‘long’) end %按通道数循环读出各通道数据 for i="1:nDataChNum" status=fseek(fid,pChannelAdr(i)+360, ‘bof’) nSegNum=fread(fid,1, ‘log’) status=fseek(fid,pChannelAdr(i)+160*nSegNum+1024, ‘bof’); data=fread(fid,nAllDataLength, ‘short’); end sta=fclose(fid);

MATLAB常用函数(顺序表)

A a abs 绝对值、模、字符的ASCII码值acos 反余弦 acosh 反双曲余弦 acot 反余切 acoth 反双曲余切 acsc 反余割 acsch 反双曲余割 align 启动图形对象几何位置排列工具all 所有元素非零为真 angle 相角 ans 表达式计算结果的缺省变量名any 所有元素非全零为真 area 面域图 argnames 函数M文件宗量名 asec 反正割 asech 反双曲正割 asin 反正弦 asinh 反双曲正弦 assignin 向变量赋值 atan 反正切 atan2 四象限反正切 atanh 反双曲正切 autumn 红黄调秋色图阵 axes 创建轴对象的低层指令 axis 控制轴刻度和风格的高层指令 B b bar 二维直方图 bar3 三维直方图 bar3h 三维水平直方图 barh 二维水平直方图 base2dec X进制转换为十进制 bin2dec 二进制转换为十进制 blanks 创建空格串 bone 蓝色调黑白色图阵 box 框状坐标轴 break while 或for 环中断指令brighten 亮度控制

C c capture (3版以前)捕获当前图形 cart2pol 直角坐标变为极或柱坐标 cart2sph 直角坐标变为球坐标 cat 串接成高维数组 caxis 色标尺刻度 cd 指定当前目录 cdedit 启动用户菜单、控件回调函数设计工具cdf2rdf 复数特征值对角阵转为实数块对角阵ceil 向正无穷取整 cell 创建元胞数组 cell2struct 元胞数组转换为构架数组 celldisp 显示元胞数组内容 cellplot 元胞数组内部结构图示 char 把数值、符号、内联类转换为字符对象chi2cdf 分布累计概率函数 chi2inv 分布逆累计概率函数 chi2pdf 分布概率密度函数 chi2rnd 分布随机数发生器 chol Cholesky分解 clabel 等位线标识 cla 清除当前轴 class 获知对象类别或创建对象 clc 清除指令窗 clear 清除内存变量和函数 clf 清除图对象 clock 时钟 colorcube 三浓淡多彩交叉色图矩阵 colordef 设置色彩缺省值 colormap 色图 colspace 列空间的基 close 关闭指定窗口 colperm 列排序置换向量 comet 彗星状轨迹图 comet3 三维彗星轨迹图 compass 射线图 compose 求复合函数 cond (逆)条件数 condeig 计算特征值、特征向量同时给出条件数condest 范-1条件数估计

matlab串口编程

在嵌入式当中,串口是一种是用的比较多的通信和调试方式,串口主要还是用于通信,虽然是比较老的一种通信方式,但是现在依然保留并有着其活力,基本所有单片机等嵌入式处理器都保留有串口模块。调试只是串口的一个被用来是用的附加功能,想对于昂贵的在线调试工具,它有着很多其他方面的优势,直观的显示程序运行的状态和相关变量。由于其长时间的使用,相关技术和程序也比较成熟,很多工具都提供对串口通信和调试的支持,MATLAB,gdb等,串口监视和调试助手等也随处可以得到,相对于其嵌入式通信方式,它简单实用,适合初学者和速率要求不高的场合。 之前用过蓝牙虚拟串口将串口无线化,单片机间串口通信,wifi模块和ARM7串口通信,单片机于PC机串口通信,这次的综合课程设计需要在PC上对串口数据进行频谱的分析,于是就想使用MATLAB数学计算软件,应该相对简单点,果然,在提供相关数学运算函数的前提下,对各种设备的支持也很强大,在这里说一下我我在这次试验中对MATLAB对串口操作的理解。前提还是阅读MATLAB自带的help文档,这是软件提供的最权威和全面的支持,但是很多人却忽略。检索对自己有用的信息也是一种能力。 在MATLAB中有三种方式来操作串口,但是最终原理都是一样的。 1,simulink工具箱仿真 2,Instrument control toolbox 3,使用MATLAB变成语言,编写自己的程序控制 在Instrument control toolbox中,就像个串口助手,可以以图像化的方式设置各种参数,进行各种操作。在工具箱中,可以将你进行的操作实时的转换成m 文件,如果你不知道怎么编写控制串口的m文件,可以进行相关操作,然后参考生成的m文件进行编程。 simulink工具箱相对而言是比较高级的功能仿真工具,一般是在隐藏硬件细节的前提下功能仿真,如果你不熟悉原理,使用起来会一头雾水,特别是出错时,所以建议在熟悉了底层实现的前提下使用。(可能说的太主观,至少我是这样)没什么比编写自己的程序更加能了解自己控制的设备了,其上的两种方式都是在这个方式的基础上实现的,最终控制原理都是一样的,都是通过MATLAB提供的一系列API函数对串口进行操作。1和2我都尝试过,但是最后还是觉得之间编程比较清晰,当然这只是一个过程,不同的情况使用不同的工具才是正确的。以上纯属个人观点和理解,仅供参考,有什么好的想法还请不吝赐教,大家一起学习。下面是我对MATLAB环境下对串口操作的一些理解和操作。 在MATLAB中,串口被抽象成一个结构体,所有的操作均同归相关函数对结构体操作完成,通过serial函数新建一个串口对象,该函数至少需要一个参数,即串口号,其他的可选参数为设置该串口相关参数,可以在新建对象的时候指定也可以在以后用set函数设置。相对而言,get函数可以得到串口对象的相关参数值或者状态。

MATLAB串口通信技术

一.MATLAB串口通信技术 对于WINDOWS系统而言,硬件系统的驱动程序有着十分严格的规范,可以用C或汇编语言进行开发,而MATLAB本身是一个跨平台的软件,并不具备直接访问硬件的能力。即使安装了驱动程序并能正常工作的硬件设备,MATLAB也没有统一的形式对其进行访问。对于系统的串口,在MATLAB6.X中以类(SERIAL)的形式提供了支持。当用指令建立了一个串口对象(句柄)以后,对串口的硬件操作可以文件操作的软件形式来完成,方法比较简单。常用的串口操作命令及其含义如下表(1)所示,这些命令既可在MATLAB命令窗口实现,也可以M文件的形式出现,使用起来十分方便。 表1MATLAB串口操作命令表 二.数据采集系统与PC机通信的硬件电路 为了简化系统的硬件设计,数据采集系统的微转换器选用AD公司的全集成芯片ADu C812,该芯片包含有12位高性能的自校准8通道ADC,两个12位的DAC,与8051兼容的内核使用户无须学习新的指令系统。片内8K闪速/电摖除程序存储器使数据采集系统具有在线下载编程能力,利用AD公司提供的免费SERIAL WINDOW DOWNLOAD就可以将H EX文件下载到ADuC812内,对于不同的应用场所可以方便的修改系统的参数,既不需要昂贵的编程器,也不需打开机壳插拨芯片,只需将一条电缆连接到计算机的COM1或COM 2即可。另外该转换器还支持看门狗定时器、电源监视器及ADC的DMA等功能,可编程的I/O口具有三种类型的串口UART、SPI、I2C,价格也比较便宜,是一种理想的转换器。系统的硬件组成如下图(1)所示。

图1ADUC812与PC机串口通信的硬件电路图 其中ADM202及P3.0\P3.1构成了与计算机通信的RS232接口,它有两个功能,一是实现计算机与数据采集系统的数据通信。另一功能是与JP1配合使用,完成将程序从计算机下载到ADuC812片内的闪速/电摖除程序存储器中。当下载程序时,需将单片机系统的电源关掉,用屏蔽帽屏蔽JP1,单片机系统再上电,ADuC812进入程序下载状态,运行SERIAL W INDOW DOWNLOAD可以将HEX文件下载到芯片内。ADM812组成了系统的复位电路。 三.应用程序的软件流程图 PC机与单片机的串口通信技术可以说已经比较成熟,但在工程实际中应用较多的是V C、VB通信控件,一般人员开发具有一定的困难。本文的PC机应用程序是运用MATLAB 的类(SERIAL)和M语言开发,辅以MATLAB的GUIDE工具箱,程序开发相对简单。单片机的程序应用MCS—51汇编,只需在程序的第一行加$MOD812标识符即可。整个传输过程是:由单片机发送握手信号,PC机接到握手信号后发应答信号,并准备接收信号,单片机接收到应答信号后准备发送数据,并说明通信过程挂钩成功,总的测量次数和键值作为第0组发送,发送完毕累加校验和,发现传输错误时重发,程序的流程图如图2所示

最新Matlab中常见数学函数的使用

给自己看的----Matlab的内部常数(转) 2008/06/19 14:01[Ctrl C/V--学校 ] MATLAB基本知识 Matlab的内部常数 pi 圆周率 exp(1) 自然对数的底数e i 或j 虚数单位 Inf或inf 无穷大 Matlab的常用内部数学函数

如何用matlab进行多项式运算 (1)合并同类项 syms 表达式中包含的变量 collect(表达式,指定的变量) (2)因式分解 syms 表达式中包含的变量factor(表达式) (3)展开 syms 表达式中包含的变量 expand(表达式) 我们也可在matlab中调用maple的命令进行多项式的运算,调用格式如下: maple(’maple中多项式的运算命令’) 如何用matlab进行分式运算 发现matlab只有一条处理分式问题的命令,其使用格式如下: [n,d]=numden(f)把符号表达式f化简为有理形式,其中分子和分母的系数为整数且分子分母不含公约项,返回结果n为分子,d为分母。注意:f必须为符号表达式 不过我们可以调用maple的命令,调用方法如下: maple(’denom(f)’)提取分式f的分母 maple(’numer(f)’)提取分式f的分子 maple(’normal(f)’ ) 把分式f的分子与分母约分成最简形式 maple(’expand(f)’) 把分式f的分子展开,分母不变且被看成单项。 maple(’factor(f)’) 把分式f的分母和分子因式分解,并进行约分。 如何用Matlab进行因式分解 syms 表达式中包含的变量factor(表达式) 如何用Matlab展开 syms 表达式中包含的变量expand(表达式) 如何用Matlab进行化简 syms 表达式中包含的变量simplify(表达式) 如何用Matlab合并同类项 syms 表达式中包含的变量collect(表达式,指定的变量) 如何用Matlab进行数学式的转换 调用Maple中数学式的转换命令,调用格式如下: maple(‘Maple的数学式转换命令’) 即:maple(‘convert(表达式,form)’)将表达式转换成form的表示方式 maple(‘convert(表达式,form, x)’)指定变量为x,将依赖于变量x的函数转换成form的表示方式(此指令仅对form为exp与sincos的转换式有用) 如何用Matlab进行变量替换 syms 表达式和代换式中包含的所有变量subs(表达式,要替换的变量或式子,代换式) 如何用matlab进行复数运算 a+b*i 或 a +b*j表示复数a+bi 或a+bj real(z)求复数z的实部 imag(z)求复数z的虚部 abs(z)求复数z的模 angle(z)求复数z的辐角, conj(z)求复数z的共轭复数 exp(z)复数的指数函数,表示e^z 如何在matlab中表示集合 [a, b, c,…] 表示由a, b, c,…组成的集合(注意:元素之间也可用空格隔开) unique(A) 表示集合A的最小等效集合(每个元素只出现一次) 也可调用maple的命令,格式如下: maple('{a, b, c,…}')表示由a, b, c,…组成的集合 下列命令可以生成特殊的集合: maple(‘{seq(f(i),i=n..m)}’)生成集合{f(n), f(n+1), f(n+2), … , f(m)} 如何用Matlab求集合的交集、并集、差集和补集

MATLAB函数大全(MATLAB函数总集,史上最全)

MATLAB函数大全 代充全国移动、联通、电信话费、腾讯QQ业务、网游点卡 淘宝店址:https://www.360docs.net/doc/753411901.html,/ 信誉至上,服务第一 A a abs 绝对值、模、字符的ASCII码值 acos 反余弦 acosh 反双曲余弦 acot 反余切 acoth 反双曲余切 acsc 反余割 acsch 反双曲余割 align 启动图形对象几何位置排列工具 all 所有元素非零为真 angle 相角 ans 表达式计算结果的缺省变量名 any 所有元素非全零为真 area 面域图 argnames 函数M文件宗量名 asec 反正割 asech 反双曲正割 asin 反正弦 asinh 反双曲正弦 assignin 向变量赋值 atan 反正切 atan2 四象限反正切 atanh 反双曲正切 autumn 红黄调秋色图阵 axes 创建轴对象的低层指令 axis 控制轴刻度和风格的高层指令 B b bar 二维直方图 bar3 三维直方图 bar3h 三维水平直方图 barh 二维水平直方图 base2dec X进制转换为十进制

bin2dec 二进制转换为十进制 blanks 创建空格串 代充全国移动、联通、电信话费、腾讯QQ业务、网游点卡 淘宝店址:https://www.360docs.net/doc/753411901.html,/ 信誉至上,服务第一 bone 蓝色调黑白色图阵 box 框状坐标轴 break while 或for 环中断指令 brighten 亮度控制 C c capture (3版以前)捕获当前图形 cart2pol 直角坐标变为极或柱坐标 cart2sph 直角坐标变为球坐标 cat 串接成高维数组 caxis 色标尺刻度 cd 指定当前目录 cdedit 启动用户菜单、控件回调函数设计工具 cdf2rdf 复数特征值对角阵转为实数块对角阵 ceil 向正无穷取整 cell 创建元胞数组 cell2struct 元胞数组转换为构架数组 celldisp 显示元胞数组内容 cellplot 元胞数组内部结构图示 char 把数值、符号、内联类转换为字符对象 chi2cdf 分布累计概率函数 chi2inv 分布逆累计概率函数 chi2pdf 分布概率密度函数 chi2rnd 分布随机数发生器 chol Cholesky分解 clabel 等位线标识 cla 清除当前轴 class 获知对象类别或创建对象 clc 清除指令窗 clear 清除内存变量和函数 clf 清除图对象 clock 时钟 colorcube 三浓淡多彩交叉色图矩阵

相关文档
最新文档