matlab函数

Matlab函数

匿名 (未验证) 提交于 2019-12-03 00:29:01
一个函数是一组在一起执行任务的语句。 在MATLAB中,函数在单独的文件中定义。文件的名称和函数的名称应该是一样的。 函数在自己的工作空间内的变量上运行,这个变量也称为本地工作空间,与在MATLAB命令提示符下访问的工作区(称为 基本工作区 )不同。 函数可以接受多个输入参数,并可能返回多个输出参数。 函数语句的语法是 - function [ out1 , out2 , ... , outN ] = myfun ( in1 , in2 , in3 , ... , inN ) MATLAB 示例 以下名称为 mymax 的函数应写入名称为 mymax.m 的文件中。它需要五个数字作为参数,并返回参数数字值的最大值。 创建名为 mymax.m 的函数文件,从左上角菜单中点击 新建 -> 函数 ,并在其中键入以下代码 - function max = mymax ( n1 , n2 , n3 , n4 , n5 ) % This function calculates the maximum of the % five numbers given as input max = n1 ; if ( n2 > max ) max = n2 ; end if ( n3 > max ) max = n3 ; end if ( n4 > max ) max = n4 ; end if ( n5

MATLAB find函数用法

匿名 (未验证) 提交于 2019-12-03 00:29:01
1, X = [1 0 4 -3 0 0 0 8 6]; ind = find(X) ind = 1 3 4 8 9 返回的是向量X中的非零元素 索引值 2, X = [1 0 4 -3 0 0 0 8 6]; ind = find(X>2) ind = 3 8 9 返回向量中满足大于2的元素的 索引值 3,当X是个矩阵时, X = [3 2 0; -5 0 7; 0 0 1]; [r,c,v] = find(X>2) r = 1 2 c = 1 3 v = 1 1 r表示行,c表示列,v为1表示为真。此处表示第一行第一列和第二行第三列符合要求(>2); 文章来源: MATLAB find函数用法

c++调用matlab函数 - dll方式

匿名 (未验证) 提交于 2019-12-03 00:26:01
项目中遇到一个问题,需要用c++调用matlab程序,这里记录下整个过程。 matlab 2014a visual studio 2010 PS:版本问题要注意,之前是visual studio 2017,这个就一直报错(笑cry),matlab比较难安装,所以一般来说调节visual studio版本就好了。 mcc -W cpplib:MatPredictGPS -T link:lib ../predict_gps.m 其中MatPredictGPS为生成的文件名 cpplib,是指编译成C++的lib -T表示目标,link:lib表示要连接到一个库文件的目标 ../predict_gps.m为需要生成dll的函数。 PS:如果predict_gps.m依赖其它matlab函数,可以将依赖的函数一并放在后面,用空格分开就好。 命令运行后生成以下文件: #include "stdafx.h" # pragma comment(lib,"mclmcrrt.lib") # pragma comment(lib,"libmx.lib") # pragma comment(lib,"libmat.lib") # pragma comment(lib,"mclmcr.lib") # pragma comment(lib,"MatPredictGPS.lib") #include

六轴机器人matlab写正解函数

匿名 (未验证) 提交于 2019-12-03 00:22:01
1. 分两个程序①主函数②function函数 2.main clear; clc; %建立机器人模型 % theta d a alpha offset ML1=Link( [ 0 0 0 0 0 ] , 'modified' ); ML2=Link( [ 0 0.1491 0 -pi/ 2 0 ] , 'modified' ); ML3=Link( [ 0 0 0.4318 0 0 ] , 'modified' ); ML4=Link( [ 0 0.4331 0.0203 -pi/ 2 0 ] , 'modified' ); ML5=Link( [ 0 0 0 pi/ 2 0 ] , 'modified' ); ML6=Link( [ 0 0.0563 0 -pi/ 2 0 ] , 'modified' ); modrobot=SerialLink( [ML1 ML2 ML3 ML4 ML5 ML6] , 'name' , 'PUMA 560' ); t06= modrobot. fkine( [ 0 , 0 ,pi/ 2 , 0 , 0 ,pi/ 2 ] ) %工具箱正解函数 myt06=myfkine( 0 , 0 , pi / 2 , 0 , 0 , pi / 2 ) %手写的正解函数 3.function function [T06]=myfkine(theta1

MATLAB中prod函数使用

匿名 (未验证) 提交于 2019-12-03 00:22:01
B = prod(A) 将A矩阵不同维的元素的乘积返回到矩阵B。 若 如果A是向量,prod(A)返回A向量的乘积。 如果A是矩阵,prod(A)将A看作列向量,返回每一列元素的乘积并组成一个行向量B。 如果A是多维数组,prod(A)沿着第一个非单例作为向量,返回一个行向量数组。 《Simulink与信号处理》 B = prod(A,dim) 沿着指定的dim标量的维计算A矩阵的乘积。注:dim=2表示沿行计算。 注明:该例子来自Mathworks公司英文帮助文件。 已知矩阵A: 《Simulink与信号处理》 M = magic(3) M = 例一:计算矩阵A的每一列元素的乘积 prod(M) = 《Simulink与信号处理》 例二:计算矩阵A每一行元素的乘积, dim=2表示按行计算 prod(M,2) = 文章来源: MATLAB中prod函数使用

matlab字符串函数

匿名 (未验证) 提交于 2019-12-03 00:22:01
字符串操作函数: 将数字转换为字符串,由于主要接触的还是在科学计算方面,使用较多的还是在多变量批量命名上。类似的函数还有int2str,mat2str,str2double等,功能与之类似 deblank() strcat(): 把多个字符串水平方向依次连接 lower()和upper() :可以把字符串的所有字母转为小写和大写格式 strcat(): 把多个字符串水平方向依次连接 strvcat(): 字符串按竖直方向连接 strjust(S,mode): strcmp(): 比较两个字符串,完全相同时返回逻辑变量1,否则为0 strcmpi(): 忽略字母大小写的方式比较两个字符串 文章来源: matlab字符串函数

matlab中 profile各列的含义。

匿名 (未验证) 提交于 2019-12-03 00:22:01
列 说明 函数名称 探查的代码所调用的所有函数列表。起初,这些函数按处理它们时所花的时间排序。 调用 被探查的代码调用函数的次数。 总时间 函数(包括访问的所有子函数)所耗费的总时间(以秒为单位)。函数所耗用的时间包括子函数所耗费的时间。探查器本身会耗用一些时间,该时间也包括在结果中。对于运行时间无足轻重的文件来说,总时间可以是零。 自用时间 函数所耗费的总时间,不包括任何子函数所耗用的时间(以秒为单位)。自用时间还包括探查过程产生的一些开销。 总时间图 以图形方式显示自用时间与总时间的对比情况。 文章来源: matlab中 profile各列的含义。

Matlab运行EEGLAB预处理的数据

匿名 (未验证) 提交于 2019-12-03 00:20:01
每天运行正常,有一次在运行matlab时,出现函数不存在的现象,如下: 原因: 1.每天都在EEGLAB预处理数据后才运行test1,这次直接运行test1就报错; 2.先运行EEGLAB,估计就运行了里面的pop_loadset函数,我是这样猜测的。 解决: 打开EEGLAB,导入一个数据后,再来这运行test1 文章来源: Matlab运行EEGLAB预处理的数据

Feedforwardnet函数的认识

匿名 (未验证) 提交于 2019-12-03 00:19:01
1、feedforwardnet(前馈神经网络) feedforward网络可以用作输入和输出的映射, 若给予足够的隐藏神经元,两(或更多)层前馈网络可以实现任何有限的输入输出功能, 只含有一个隐含层的的神经网络可以拟合任意有限的输入输出映射问题。 2、函数表达式 'trainlm' trainlm--- 中型网络, , 内存需求最大 , 收敛速度最快 3、matlab自带例子 [x,t] = simplefit_dataset;% MATLAB自带数据 net = feedforwardnet;% 创建前向网络 view(net) net = train(net,x,t); % 训练,确定输入输出向量的维度 view(net) % 查看网络的可视化图 y = net(x); % 计算预测值 perf = perform(net,y,t) % 计算误差性能 结果: perf = 4、拟合sin(k*x)函数 目的:比较不同隐含层神经元个数的拟合效果 figure i = 1; x = -2:.1:2; hiddenSizes = [1; 5; 10; 30; 50; 80]; %隐层个数,分别取1、5、10、30、50和80 perf = zeros(size(hiddenSizes, 1),5); %保存拟合的误差值 for hs = 1:size(hiddenSizes, 1)

Feedforwardnet函数的认识

匿名 (未验证) 提交于 2019-12-03 00:19:01
1、feedforwardnet(前馈神经网络) feedforward网络可以用作输入和输出的映射, 若给予足够的隐藏神经元,两(或更多)层前馈网络可以实现任何有限的输入输出功能, 只含有一个隐含层的的神经网络可以拟合任意有限的输入输出映射问题。 2、函数表达式 feedforwardnet(hiddenSizes,trainFcn),返回具有N + 1层的前馈神经网络对象。 hiddenSizes:隐藏层神经元个数(一个行向量),默认值10 trainFcn:用于训练网络性能所采用的函数,默认 'trainlm' 训练函数: trainlm--- 中型网络, , 内存需求最大 , 收敛速度最快 trainbfg---BFGS算法(拟牛顿反向传播算法)训练函数; traincgb---Powell-Beale共轭梯度反向传播算法训练函数; traincgp---Polak-Ribiere变梯度反向传播算法训练函数; traingd---梯度下降反向传播算法训练函数; traingda---自适应调整学习率的梯度下降反向传播算法训练函数; traingdm---附加动量因子的梯度下降反向传播算法训练函数; traingdx---自适应调整学习率并附加动量因子的梯度下降反向传播算法训练函数; trainrp---RPROP(弹性BP算法)反向传播算法训练函数;、 trainscg--