matlab学习心得
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. @function 可以表示一个函数,由于可以用M文件function F=fun(x);来定义一个函数,这样就可以用@function来调用你所定义的函数,它所定义的是运算函数,而不是符号函数
2. round(x);是将矩阵x中的元素圆整,以四舍五入的方法进行然后返回一个整数矩阵。floor,向下取整。ceil向上取整。fix,0方向取整。
3. meshgrid(x,y);画三维图形所必需的指令将向量X和向量y转化为二维的点阵。(x1,x2,x3,x4,x5)和(y1,y2,y3,y4)是无法做图的,只有转化为三维的点阵才有可能画图。画图原理,x为一行,y为列,然后分别以对方的步进值为步进,产生一个X矩阵(所有行是相同的),Y矩阵(所有列是相同的)
4. shading interp 是可以将画图命令中图中视角有重叠的部分用不同的颜色加以区分,一样的高度的线用一样的颜色
5. solve(f);可以用来解f=0的问题,f必须是定义的符号函数。
6. proper=input('字符串').该函数的作用是将字符串提示出来,然后将输入的内容存入到proper中,如果在后边加一个input('string','s')是将键入内容以字符串方式存储。
7. 循环控制语体,continue 结束该次循环剩余的内容继续循环下次的内容;break就直接结束循环,跳出循环体。return命令结束调用体,回到调用他的函数体中,并返回一个值。
8. 生成逻辑数组时,直接就可以运算命令来实现 b是逻辑数组,c是数据数组,则c(b)是将c中对应的b中位置为1的数值提取出来返回一个新的数组。
9. 显示内容,disp(字符串),fprintf等。
10. char(A)和double(A);作用是可以使矩阵在字符串之间变换,对应的是ASCII码值。可以操作这些码。
11. w=find(),可以找出某矩阵中满足某种条件的数值矩阵下标,并按照顺序返回到w中。()中可以是关系式。
12. 进行符号计算时,应该先用syms来定义符号参数。否则程序报错
13. 定义简单子函数的方法,例如 f=inline('sqrt(log(1./x))','x'); 定义二元函数的方法,例如
qqq=@(x,y) y*sin(x)+x*sin(y);两种方法都可以来简单定义函数,对于多元函数都是通用的,只是多了声明函数项而已,其中第二个中的(x)不能去掉。
14. legend(‘’,‘’)按照绘图顺序给出注标;
15. psearchtool可以调出优化算法的控制窗口。可以进行线性(一次)
规划,遗传算法等各种算法的gui界面
16. set(gca,'Ytick',[-1:0.1:3]);可以以0.1为间隔设置坐标最小线距,semilogx()是绘图指令,x坐标讲义对数形式显示。Loglog()绘制双对数坐标图形。
17. diff 求微分指令,diff(f,a);对符号函数f和变量a求导。f也可以是矩阵,返回值就是导矩阵
18. limit(f,x,a,'left'),求极限指令,对函数f x从左侧接近a的极限值。left 可省略,x省略后是默认变量,a和x都省略了是默认自变量0,当省略a时是声明自变量趋于inf
19. int(S,x,a,b)是作定积分的。对函数s,变量x从a到b做积分,省略x是对默认变量积分。int(S,x)作符号积分,省略x后是对默认变量积分。20,符号函数本身并不能直接用于计算。因为它本身并不是定义的函数。类型为sym类型。不能直接作为函数来对参量矩阵数值作变换。21. 先将一个图形的句柄赋给H,然后用set(H)可以得到H的所有列表,有内容表示可以修改,{}表示不可以修改。然后在用set(H,‘列表一项’)可以得到句柄项所有的内容,然后就可以进行设置了,方法很简单。
22. 对于坐标轴的刻度属性,matlab没有专门的高层命令,只能用底层命令来解决。
set(gca,'Xtick',xs,'Ytick',ys,'Ztick',zs);其中xs,ys,zs是任意有效的实向量,用来设置坐标属性。
23. repmat(A,m,n);矩阵平铺,将矩阵A复制m*n块。
24. Ind=sub2ind(matrixSize, rowSub, colSub) 是将对应位置(下标的形式)的矩阵的元素的索引值找出来(按照列将矩阵变形后找出对应的位置即为矩阵元素的索引值。)。调用时可以直接用A(Ind)调出对应的元素。(在FreeMat、Matlab中,二维数组的存储是以列为主序的,所以看一个元素在数组中的索引值,要一列一列的来数)。
25,产生随机数的另一个方法,先用A=Randperm(N),产生一个随机的排列,然后用A(2:end)=[];删除第二个元素以后的值就可以产生一个随机的整数。不需要随机种子,真随机。
查找之后发现还有一个方法rand函数可以生成一个随机数然后乘以你的
范围,用fix修一下小数部分就好了。fix向零方向取整。代码
fix(rand*255);不需要预先生成随机种子,是一种真随机。
26. 以前我们讲过用内联函数inline创建符号函数,但是不能用于计算,利用向量化函数vectorize(y),可以将内联函数转化为向量化函数。再利用feval()函数,里边列出所有变量的取值,就可以进行计算了。