1、matlab设置默认路径
在原来的默认路径(bin)下创建一个名为startup.m的文件,内容为相对路径 cd ..\..\WorkSpace\或绝对路径 cd F:\Program\MATLAB\WorkSpace\即可。再次打开MATLAB时便会自动执行startup.m文件,将工作路径转至WorkSpace下。
2、画图
例程:
figure; //画图,通常可以为figure(1),figure(2).....X = 0 : 5 : 5*15; //设置数组,起点:间隔:终点for n = 0: 5 : 5*15 //for 循环,起点:步长:终点 输出包括终点 plot(X, n, 'r.'); //画点,以X为x坐标,n为y坐标,颜色为r,类型为. hold on; //每次画完一个点保持end //for循环需要end来结束axis([0 75 0 75]); //设置坐标系的长度set(gca, 'Xtick', [0: 5: 75]); //设置X坐标系的步长set(gca, 'Ytick', [0: 5: 75]); //设置Y坐标系的步长axis square; //设置坐标系为正方形grid on; //显示出栅格
3、画圆
function DrawCircle(x, y, r) //定义函数,没有返回值,参数为x,y,rseta=0:0.001:2*pi; //画圆的参数步长0.001xx=x + r*cos(seta);yy=y + r*sin(seta);plot(xx, yy, 'b');hold on;
4、计算交点
function [X, Y] = GetXpoint(x1, y1, r1, x2, y2, r2) //函数返回为[X,Y]syms x y; //syms定义两个变量x,y[X, Y] = solve((x-x1)^2+(y-y1)^2==r1^2, (x-x2)^2+(y-y2)^2==r2^2); //求解两个方程;注意中间为==if isreal(X) && isreal(Y) //检测两个是否都是实数 for n = 1:length(X) //循环从1到2 注意这里的数组从1开始 a = double(X(n)); //把值转换成小数的double型就可以同text输出 b = double(Y(n)); str = sprintf('(%.2f,%.2f)', a, b); //和C一样把a,b按固定格式输出到str text(a, b, str); hold on; plot(X, Y, 'r*'); hold on; endelse return;endend
- 调用了solve函数的返回值都是sym类型,不能直接使用,需要自己转换成数据类型
function X = dealPoints(ps) %X为返回矩阵;ps为输入矩阵[rows, cols] = size(ps); %通过size得到ps的行长和列长,第一个为行数,第二个为列数x = double(0); %定义x和yy = double(0);for i = 1: 1: cols %按步长1遍历列长 x = x + ps(1, i); %得到和 y = y + ps(2, i);enda = x / cols; %取平均b = y / cols;X = [ x / cols , y / cols]; %返回Xplot(a, b, 'r*'); %画点str = sprintf('(%.2f,%.2f)', x / cols, y / cols);text(a, b, str);end
计算二维矩阵的大小有好几种方法,比如size,numel,lenth等等。但这几个函数有各有不同。
[a,b]=size(A)的计算结果是a表示矩阵A的行数,b表示矩阵A的列数。s=numel(A)的计算结果是A的元素总数,对于二维矩阵而言相当于size结果中的a*bc=lenth(A)的计算结果是取矩阵A中的行数或列数大的那个。相当于size中的max(a,b)