Matlab工程
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,r
seta=0:0.001:2*pi; //画圆的参数步长0.001
xx=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;
end
else
return;
end
end
- 调用了solve函数的返回值都是sym类型,不能直接使用,需要自己转换成数据类型
function X = dealPoints(ps) %X为返回矩阵;ps为输入矩阵
[rows, cols] = size(ps); %通过size得到ps的行长和列长,第一个为行数,第二个为列数
x = double(0); %定义x和y
y = double(0);
for i = 1: 1: cols %按步长1遍历列长
x = x + ps(1, i); %得到和
y = y + ps(2, i);
end
a = x / cols; %取平均
b = y / cols;
X = [ x / cols , y / cols]; %返回X
plot(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*b
c=lenth(A)的计算结果是取矩阵A中的行数或列数大的那个。相当于size中的max(a,b)
Matlab工程的更多相关文章
- Matlab使用新发现1(小技巧:shell 命令、工程工作目录设置相关)
最近在调试一个基于Matlab的程序,在偶然间发现了几个比较有趣的技巧,给大家分享一下(很可能是太菜鸟了,没有涉及这方面,大方之家请勿见笑,对您有所帮助请点赞!) 1. Matlab语言是一种解释型语 ...
- C#与MATLAB混合编程
C#和MatLab的混合编程,充分利用了winform的直观显示和matlab的强大计算能力.在此以一个小例子的形式给大家讲述一下二者混合编程的实现. 一.软件的配置说明 C#版本:VS2010 ma ...
- 史上最全的Matlab资源电子书教程和视频下载合集【超级推荐】
收藏吧,网上搜集的,费了老大劲了,推荐给有需要的人,^_^. MATLAB课件2007北京交通大学.zip 4.87 MB A Guide to MATLAB for Beginners an ...
- 人脸对齐matlab实现-FaceAlignment 3000fps
前言 最近研读了孙剑团队的Face Alignment at 3000fps via Regressing Local Binary Features这篇paper,基于matlab进行实现. 实现原 ...
- 一些matlab教程资源收藏,使用matlab编程的人还是挺多的
Matlab教程专题资源免费下载整理合集收藏 <MATLAB从入门到精通>高清文字版[PDF] 103.9MB 简体中文 <矩阵实验室>(Mathworks.Matlab.R2 ...
- Matlab 2013a 和 VS2010 混合编程
最近由于项目需求,某项目的算法是基于MATLAB完成的,在短时间内需要去调用算法功能.因此,基于MATLAB生成DLL, C 调用的方式完成. 环境:MATLAB 2013a + VS2010 + w ...
- 更改 MATLAB 默认工作路径
步骤: 1. 以管理员身份打开记事本,然后打开 MATLAB安装路径\MATLAB\R2010b\toolbox\local\matlabrc.m 文件,即打开安装路径下的 matlabrc.m 文件 ...
- MATLAB 提取图片中的曲线数据重新画图
注意: 本代码是由[MATLAB R2015b win 32位]编写. 先上代码: %% 清空变量 clear all; clc; %% 取点之后趋势是对的,也就是点与点之间的比例是对的,但是每个点的 ...
- matlab混合编程向导(vc,vb,.net...)
一.matlab与vc混编 1.通过mcc将matlab的m文件转化为cpp,c文件或dll供vc调用: 这方面的实现推荐精华区Zosco和ljw总结的方法(x-6-1-4-3-1和2) ...
随机推荐
- Oracle SecureFiles 说明(转)
Oracle SecureFiles 说明 Oracle Database 11g 将LOB 数据类型作为Oracle SecureFiles 进行了完全重新设计,显著改进了应用程序开发的性能.可管理 ...
- Git 和 SVN之间的五个基本区别
GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等.如果你是一个具有使用SVN背景的人,你需要做一定的思想转换,来适应GIT提供的一些概念和特征.所以,这篇文章的主要目的就是 ...
- (转)C# WinForm中 获得当前鼠标所在控件 或 将窗体中鼠标所在控件名显示在窗体标题上
原文地址:http://www.cnblogs.com/08shiyan/archive/2011/04/14/2015758.html /********************** * 课题:将窗 ...
- 安装ConEmu
ConEmu可以提供比Windows自带控制台(cmd.exe)程序更多的功能,从其官网下载安装程序时选择预览版安装包(Preview, Installer)即可.
- FileUpload控件
FileUpload控件 属性:FileName: 获取上传的文件名 HasFile: 是否选择(存在)上传的文件 ContentLength: 获得上窜文件的大小,单位是字节(byte) 方法:Se ...
- C++中内存分配详解
转载自51CTO.com http://developer.51cto.com/art/201107/276154.htm 我们都知道,内存基本上分为静态存储区.堆区和栈区三大部分 ...
- sql 聚合函数用法,及执行顺序
聚合函数无法用在where子句中 , 聚合函数包括count avg sum min max 子句执行顺序from -> where -> group by -> having -& ...
- Javascript获取当前时间戳的方法
定义日期: Date 对象用于处理日期和时间. 可以通过 new 关键词来定义 Date 对象.以下代码定义了名为 myDate 的 Date 对象: var myDate=new Dat ...
- Manifest merger failed : uses-sdk:minSdkVersion 9 cannot be smaller than version 10 declared in library
Error:Execution failed for task ':app:processDebugManifest'. > Manifest merger failed : uses-sdk: ...
- Javascript 拖拽雏形中的一些问题——逐行分析代码,让你轻松了解拖拽的原理
今天我们就来解决上一次拖拽雏形中的一些问题.下面看看有哪些问题? 附上上期的Javascript代码,方便大家查看问题. <script type="text/javascript&q ...