编程:MATLAB的坐标轴操作(包含一些画图的参数)(转自互联网)

title([‘The ‘ num2str(iter) ‘th generation’], ‘FontName’,’Times New Roman’,’FontSize’,10);
xlabel(‘$x_{1}$’,’Interpreter’,’LaTex’,’FontName’,’Times New Roman’,’FontSize’,10);

ylabel(‘$x_{2}$’,’Interpreter’,’LaTex’,’FontName’,’Times New Roman’,’FontSize’,10);

gtext(‘Omega^{0}’,’FontName’,’Times New Roman’,’FontSize’,10);

set(gca,’XTick’,[0:pi/3:2*pi]) 设置所要显示坐标轴刻度,

set(gca,’XTickLabel’,[0:pi/3:2*pi]) 给这些数据加标签

set(gca,’FontName’,’Times New Roman’,’FontSize’,10) 设置坐标轴字体

gca是单词Get current axes handle的缩写,获得坐标轴句柄。(不知道matlab为什么不自动对应数据加标签,还需要多一条命令)出来的图形

坐标轴标注:

1. 控制坐标轴尺度长度:set(gca,’XLim’,[-pi/2 pi])

2. 定制自己想标注的刻度:

(1)set(gca,’XTick’,[-pi/2:pi/4:pi]) %%%坐标轴最小值,步长,最大值

(2)set(gca,’XTickLabel’,{‘-pi/2’ ‘-pi/4:’ ‘0’ ‘pi/4’ ‘pi/2’ ‘pi*3/4’ ‘pi’})

3. 反转坐标轴:set(gca,’XDir’,’reverse’)

4. 上下标及latex公式

输下标:_{wb}

输上标:^{0.5}

输latex公式:

text(‘Interpreter’,’latex’,…

‘String’,’$$int_0^x!int_y dF(u,v)$$’,…

‘Position’,[.5 .5],…

‘FontSize’,16)
在Matlab中输入上标、下标、特殊符号或字体:
bf,it,rm表示黑体,斜体,正体字符

上标用 ^(指数),下标用 _(下划线)

调用方式为: ^{任意字符}, _{任意字符}, 注意{}的使用!

希腊字母等特殊字符用 加拼音如:
后字母大写的,表示是大写(如Ω Omega),小字母的,表示小写(如ω omega)

α alpha β beta γ gamma θ theta Θ Theta

Г Gamma δ delta Δ Delta ξ xi Ξ Xi Ω Omega

η elta ε epsilong ζ zeta μ miu υ nu τ tau

λ lamda Λ Lamda π pi Π Pi σ sigma Σ Sigma

φ phi Φ Phi ψ psi Ψ Psi χ chi ω omega

< leq > geq 不等于 neq << ll >> gg

正负 pm 左箭头 leftarrow 右箭头 rightarrow 上箭头 uparrow

体会以下两例:

figure, title(‘zeta^{-t}sint’);

figure, title(‘x~{chi}_{alpha}^{2}(3)’);

5. 坐标轴的视点

1、坐标轴的视点(viewpoint):从哪个方向看整个坐标系统,这决定了坐标轴的方向和位置,通过view函数实现视点的设置;

view([z y ]):(将坐标系统想象为一座房子,而自己是个会飞的天使,最初你在房子的北,海拔角度为0的位置,这是时你的视角是view[0 0],之后可以根据需要设置z和y的值,分别是绕房子转动的方向,和沿空间轴向上妃的高度)z表示视角沿z轴(正方向)旋转的角度,y表示视角沿y轴(水平面)旋转的角度

2、坐标轴显示、关闭、样式

axis off; % 去掉坐标轴
axis tight; % 紧坐标轴
axis equal; % 等比坐标轴
axis([-0.1, 8.1, -1.1, 1.1]); % 坐标轴的显示范围

% gca: gca, h=figure(…);
set(gca, ‘XLim’,[3 40]); % X轴的数据显示范围
set(gca, ‘XTick’,[-3.14,0,3.14] ); % X轴的记号点
set(gca, ‘XTicklabel’,{‘-pi’,’0′,’pi’}); % X轴的记号
set(gca, ‘XTick’, []); % 清除X轴的记号点
set(gca, ‘XGrid’,’on’); % X轴的网格
set(gca, ‘XDir’,’reverse’); % 逆转X轴
set(gca, ‘XColor’,’red’); % X轴的颜色
3、设置x,y轴位置

set(gca,’YAxisLocation’,’right’) % y轴的刻度设置到右侧

编程:MATLAB命令收录

管理命令和函数
help 在线帮助文件
doc 装入超文本说明
what M、MAT、MEX文件的目录列表
type 列出M文件
lookfor 通过help条目搜索关键字
which 定位函数和文件
Demo 运行演示程序
Path 控制MATLAB的搜索路径
管理变量和工作空间
Who 列出当前变量
Whos 列出当前变量(长表)

编程:MATLAB实现粒子二维随机运动轨迹

代码如下:

视频演示:待更新

 

运行结果图展示:

3个粒子的轨迹:

10个粒子的轨迹

50个粒子的轨迹

100个粒子的轨迹

若要查看动态图片请查看全文

编程:怎样用MATLAB制作动画

电影动画的好处就是,运行一次可以多次播放,甚至可以直接生成avi文件,直接独立与Matlab环境播放。这是其它三种动画制作方法所不具备的。

MATLAB中,创建电影动画的过程分为以下四步:

step1调用moviein函数对内存进行初始化(该步骤在Matlab5.3以上均可省略),创建一个足够大的矩阵,使之能够容纳基于当前坐标轴大小的一系列指定的图形(此处称为帧)。

step2调用getframe函数生成每个帧。该函数返回一个列矢量,利用这个矢量,就可以创建一个电影动画矩阵。

getframe函数可以捕捉动画帧,并保存到矩阵中。一般将该函数放到for循环中得到一系列的动画帧。
该函数格式有:
(1)F=gefframe,从当前图形框中得到动画帧
(2)F=gefframe(h),从图形句柄h中得到动画帧
(3)F=getframe(h,rect),从图形句柄h的指定区域rec中得到动画帧

step3调用movie函数按照指定的速度和次数运行该电影动画。

当创建了一系列的动画帧后,可以利用movie函数播放这些动画帧。
该函数的主要格式有:
(1)movie(M),将矩阵M中的动画帧播放一次
(2)movie(M,n),将矩阵M中的动画帧播放n次
(3)movie(M,n,fps),将矩阵M中的动画帧以每秒fps帧的速度播放n次

step4调用movie2avi函数可以将矩阵中的一系列动画帧转换成视频文件avi文件。这样,即使脱离了matlab环境都可以播放动画。

软件:G77的万能式安装使用和说明文件

我修改了一点G77,安装非常简单,可以任意安装,随你喜好!

请使用这个版本的G77,下载地址:G77.rar

本程序由TAHO修改,可以放在任何盘的任何文件夹里,包括U盘,不再局限于C盘,更支持中文文件夹和名字有空格的文件夹,使用非常方便。
对于学习计算物理的同学,把它放在U盘里使用也行的!

安装方法:

1. 下载压缩包G77.rar,右键点击G77.rar,选择“解压到当前文件夹”,

2. 你会看见一个名叫G77的文件夹出现了,打开这个文件夹

3. 双击打开start.bat便可以使用了(注:windows7用户如果那样打开不行,请右键选择“以管理员身份运行”)。

4. 每一次使用G77都要运行start.bat,你可以把start.bat重新命名,只要保留后缀名仍为bat便好,start改成什么都可以,不影响使用,比如命名为“运行.bat”。注意,使用时要把你的程序复制到G77文件夹里面哟~!

G77的一些简单使用方法:

1.最简单的编译方法:
G77 MYTEST1.F

2.要生成名字不是a.exe,而是自己想起的名字,比如GOOD.EXE的程序,只需要加上“-o”,后面写上GOOD.EXE便可,像这样:
G77 MYTEST1.F -o GOOD.EXE

3.纠错编译(如果程序本身就有错误,这个办法可以检查出来,编译不会通过的,会给出警告信息。即编译的时候,只要加上“-Wall”就可以了),就像这样:
G77 -Wall MYTEST1.F
4.其他用法:(不翻译了)

The g77 compiler has a large number of other command switches – a few of
the most useful are shown here:

-c Compile-only: produces .OBJ files.
-ffree-form Selects free-format source code
-fpedantic Warns of non-portable/non-standard code.
-fno-automatic Static storage for all variables, like universal SAVE
-fno-backslash Interprets “” as a normal character in strings
-fvxt Use VAX Fortran interpretation of certain syntax
-g Produces debugging information.
-Idirectory Specifies directory to search for INCLUDE files
-O Optimise code generation
-Wimplicit Warns of any names with no explicit data type
-Wuninitialised Warns of some cases of unset variables (if -O also set).
-Wall Warns of both of above cases.

献给丹儿
BY TAHO
2012.11.22
taholab.com
tahoroom.sinaapp.com

本文链接:http://tahoroom.sinaapp.com/?p=2215 欢迎分享!

技术:G77与MATLAB接口和FORTRAN77语法概述/简单教程

MATLAB与C++、G77的混合编程

《深入浅出MATLAB 7.X混合编程》 董维国 编著 电子书下载  请查看第四章内容

下面内容属于转载:来自 http://www.legalsoft.com.cn/fortran/fortran77.aspx

不过这篇文章更像是C#语言的广告,也许C#真有他说的那么好用,谁知道呢。

FORTRAN77语法概述/简单教程(G77)

FORTRAN是世界上最早出现的高级编程语言,是工程界最常用的编程语言,它在科学计算中(如航空航天、地质勘探、天气预报和建筑工程等领域)发挥着极其重要的作用。经过40多年的发展,伴随着FORTRAN语言多次版本的更新及相应开发系统的出现,其功能不断完善,最新版本的开发系统几乎具备了VC、VB的所有特点,如图形界面编程、数据库等。目前,工科院校开设的计算机编程语言课首选仍然是FORTRAN :<

说实话,从科技发展的趋势来说这不是好事。您可以设想一下,如果需要用鹅毛笔抄写大量的古籍是什么感受!
强烈建议阅读《发掘C#特性赋予科学计算项目以威力

1 FORTRAN77四则运算符

+ – * / ** (其中**表示乘方)
在表达式中按优先级次序由低到高为: +或-→*或/→**→函数→()

2 FORTRAN77变量类型

2.1 隐含约定:I-N规则

凡是以字母I,J,K,L,M,N六个字母开头的,即认为是整型变量,其它为实型变量。

2.2 用类型说明语句确定变量类型:可以改变I-N规则

INTEGER 整型
REAL 实型
DOUBLE PRECISION 双精度实型
COMPLEX 复型,赋值形式为(实部,虚部),如D=(8.76E+0.5,-67.8E-3),C=(3.0,6.3),如果含表达式则用CMPLX,如C=CMPLX(3.0*A,6.0+B)
LOGICAL 逻辑型,逻辑常量有“T”和“F”,“T”表示“.TRUE.”,“F”表示“.FALSE.”
CHARACTER*N 字符型,N为字符串长度,可以在变量名称后重新指定长度,如CHARACTER*8 STR1,STR2*10 ,赋值形式为STR2=’I”M A BOY.’

2.3 用IMPLICIT语句将某一字母开头的全部变量指定为所需类型

如 IMPLICIT REAL (I,J)
三种定义的优先级别由低到高顺序为:I-N规则→IMPLICIT语句→类型说明语句,因此,在程序中IMPLICIT语句应放在类型说明语句之前。

转载:技术文章——C++与C的区别

相对来说,C语言是一种简洁的语言,所涉及的概念和元素比较少,主要是:宏(macro)、指针(pointer)、结构(struct)、函数(function)和数组(array),比较容易掌握和理解。而C++不仅包含了上面所提到的元素,还提供了私有成员(private members)、公有成员(public members)、函数重载(function overloading)、缺省参数(default parameters)、构造函数、析构函数、对象的引用(references)、操作符重载(operator overloading)、友元(friends)、模板(templates)、异常处理(exceptions)等诸多的要素,给程序员提供了更大的设计空间,同时也增加了软件设计的难度。

C语言之所以能被广泛的应用,其高效率是一个不可忽略的原因,C语言的效率能达到汇编语言的80%以上,对于一种高级语言来说,C语言的高效率就不言而喻了。那么,C++相对于C来说,其效率如何呢?实际上,C++的设计者stroustrup要求C++效率必须至少维持在与C相差5%以内,所以,经过精心设计和实现的C++同样有很高的效率,但并非所有C++程序具有当然的高效率,由于C++的特殊性,一些不好的设计和实现习惯依然会对系统的效率造成较大的影响。同时,也由于有一部分程序员对C++的一些底层实现机制不够了解,就不能从原理上理解如何提高软件系统的效率。