matlab web server安装配置过程[转载]

本文转载自:http://blog.csdn.net/lxb316/article/details/4455254

作者:刘晓兵

环境:        windows xp
开发工具:    matlab 7.1
网站架构:    IIS 5.1 (我的win xp是简化版的,装IIS 6.0差很多DLL文件,就只好装IIS 5.1了)(网站用Apache架构也是可以实现的!)


1、安装MATLAB,五分钟就能搞定

安装的时候有两个选项(typical和custom),选择custom,也就是自定义需要安装的组件,以确保安装matlab web server组件
matlab 7.1注册码:
PLP:14-24872-36179-32308-22113-61986-33825-00564-45479-60426-10395-51330-
19488-62201-37785-19497-45389-18974-51073-03706-04875-59691-49786-28969-
00719-61582-14402-53787-33213-56814-33775-57022-14254-56498


MATLAB数字图像处理工具箱函数详解[转载]

常用图像处理函数表

本表转载自:http://blog.sina.com.cn/s/blog_89cb90270101eem9.html

表1 图像显示
函数名 功能说明 函数名 功能说明
colorbar 颜色条显示 montage 按矩形剪辑方式显示多帧图像
getimage 从坐标系中获取图像数据 immovie 从多帧索引图像中制作电影
image 建立显示图像 movie 播放电影
subimage 在同一图像窗口显示多个图像 trueszie 调整图像显示大小
imagesc 调整数据并显示图像 warp 显示图像为纹理映射表面
imshow 图像显示 zoom 二维图形放大或缩小
表2 图像文件输入/输出
函数名 功能说明 函数名 功能说明
imread 图像文件读入 load 将以mat为扩展名的图像文件调入到内存
imwrite 图像写出 save 将内存变量中图像保存到mat文件中
dicomread 读取DICOM图像 dicomwrite 输出DICOM图像
iminfo 查看图形信息    
表3 图像像素值及其统计
函数名 功能说明 函数名 功能说明
impixel 返回选定图像像素颜色值 imcontour 画图像数据轮廓(等高线,等值线)
improfile 图像中沿一个路径的数据值计算 imhist 求图像数据直方图
mean2 求均值 corr2 求相关系数
std2 求标准差    
表4 图像分析
函数名 功能说明 函数名 功能说明
edge 灰度图像边缘检测 qtgetblk 获得四叉树分解块值
qtecomp 执行四叉树分解 qtsetblk 设置四叉树分解块值
表5 图像增强及平滑
函数名 功能说明 函数名 功能说明
imadjust 对比度调整 medfilt2 二维中值滤波器
histeq 直方图均衡 ordfilt2 顺序统计滤波器
imnoise 给图像增加噪声 wiener2 二维自适应除噪滤波器
表6 图像线性滤波及二维线性滤波器设计
函数名 功能说明 函数名 功能说明
conv2 二维卷积 freqz2 计算二维频率响应
convmtx2 计算二维卷积矩阵 fsamp2 用频率抽样设计二维FIR滤波器
convn 多维卷积 ftrans 用频率抽样转换二维FIRlbq
filter2 二维线性数字滤波器 fwind1 用一维窗口方法设计二维FIR滤波器
fspecial 产生预定义滤波器 fwind2 用二维窗口方法设计二维FIR滤波器
frespace 确定二维频率响应间隔    
表7 图像变换
函数名 功能说明 函数名 功能说明
fft 计算一维快速Fourier变换 dct 计算离散余弦变换
ifft 计算一维FFT的逆变换 idct 计算离散反余弦变换
fft2 计算二维FFT dct2 计算2D离散余弦变换
ifft2 计算二维逆FFT idct2 计算2D反离散余弦变换
fftn 计算多维FFT dctmtx 计算TCT矩阵
ifftn 计算多维逆FFT radon 计算Radon变换
fftshift 直流分量移到频谱中心    
表8 图像领域及操作
函数名 功能说明 函数名 功能说明
bestblk 选择块处理的块大小 colfilt 使用列方向函数进行领域运算
blkproc 对图像实行不同的块处理 im2col 重排图像块为矩阵列
col2im 重排矩阵列成图像块 nlfilter 进行一般领域计算
表9 二值图像操作
函数名 功能说明 函数名 功能说明
applylut 使用查找表进行领域操作 bwperim 确定二值图像中的目标边界
bwarea 计算二值图像中的目标区域 bwselect 选择二值图像中的目标
bweuler 计算二值图像中的欧拉数 dilate 对二值图像进行膨胀计算
bwfill 二值图像背景区域填充 erode 对二值图像进行寝蚀运算
bwlabel 标识二值图像中的连接成分 makelut 构造查找表(applylut)使用
bwmorph 二值图像形态运算    
表10 基于区域的图像处理
函数名 功能说明 函数名 功能说明
roicolor 根据颜色选择要处理的区域 roifilt2 对要处理区域滤波
roifill 在任意区域内平滑差值 roipoly 选择要处理的多边形区域
表11 图像几何运算
函数名 功能说明 函数名 功能说明
imcrop 图像剪裁 imrotate 图像旋转
imresize 图像大小调整 interp2 二维数据差值
表12 图像颜色图操作
函数名 功能说明 函数名 功能说明
brighten 颜色图像变亮或变暗 colormap 设置获取图
cmpermute 重新排列颜色图中的颜色 imapprox 由颜色较少的图像近似索引图像
cmunique 寻找唯一的颜色图及相应的图像 rgbplot 绘制RGB颜色图
表13 颜色控件转换
函数名 功能说明 函数名 功能说明
hsv2rgb 将HSV颜色转化为RGB颜色值 mtsc2rgb 将NTSC值转换为RGB颜色空间值
rgb2hsv 将RGB颜色值转换为HSV颜色值 rgb2ntsc 将RGB值转换为NTSC颜色空间值

【转载自百度文库】

第3章 MATLAB数字图像处理工具箱

3.1 MATLAB图像预处理

3.1.1图像处理的基本操作

1. 读入并显示一幅图像

clear               %清除所有的工作平台变量

close all           %关闭已打开的图形窗口

I=imread (‘pout.tif’);   %读取图像pout.tif(该图像是图像处理工具箱自带的图像),

%存储在一个名为I的数组中

imshow(I)           %显示图像I

编程:MATLAB 中 subplot 函数的功能[转载]

转载自:http://blog.163.com/my_it_dream_pwj/blog/static/17841430520112294342649/

subplot

功能

分割figure,创建子坐标系

语法

[cc lang=”matlab”]
h = subplot(m,n,p) or subplot(mnp)
subplot(m,n,p,’replace’)
subplot(m,n,P)
subplot(h)
subplot(‘Position’,[left bottom width height])
subplot(…, prop1, value1, prop2, value2, …)
h = subplot(…)
[/cc]

MATLAB:用MATLB绘制散点图并拟合为曲线

MATLAB源代码:

1.绘制散点图
[cc lang=”matlab”]

clear all;
clc;
x=rand(10,1,40); % 随机取40个数 一个当横坐标 一个当纵坐标
y=rand(10,1,40);
%画图
plot(x( 1:10),y( 1:10),’r.’);hold on; % 点 r=红色
plot(x(11:20),y(11:20),’g*’);hold on; % 星星 g=绿色
plot(x(21:30),y(21:30),’o’);hold on; % 圆圈 默认是蓝色
plot(x(31:40),y(31:40),’mo’,’MarkerSize’,15) % 大大的圆圈 m=紫色

%还可以用函数scatter(二维)或者scatter3(三维)

[/cc]

图像:
散点图

数学:幂函数、指数函数和对数函数的图像(MATLAB绘制)

幂函数图像:

实现代码:
[cc lang=”matlab”]
clear;
clc;
x_left=-5;x_right=5; %X轴的左限和右限
y_down=-5;y_up=5; %Y轴的上限和下限

x=(x_left:0.01:x_right); %生成X数据组
y0=x;

figure; %生成一个图像
axis on;
title(‘幂函数变化图’,’FontName’,’Tahoma’,’FontWeight’,’Bold’,’FontSize’,14);
xlabel(‘X轴’,’FontName’,’Tahoma’,’FontSize’,12);
ylabel(‘Y轴’,’FontName’,’Tahoma’,’FontSize’,12,’Rotation’,0);
set(gca,’FontName’,’Tahoma’,’FontSize’,10);
set(gca,’XLim’,[x_left x_right]);
set(gca,’YLim’,[x_left y_up]);
axis square; %使得X轴和Y轴长短显示的一样
hold on;
plot(0,0,’.k’); %原点
plot(x,0,’-k’); %X轴
plot(0,y0,’-k’); %Y轴
%plot(x,1,’-k’); %直线y=1线
%plot(x,y0,’-r’); %直线y=x,用于观察反函数的对称性图像
pause;

for a=0.25:0.25:3;
y1=x.^a; %幂函数
plot(x,y1); %画幂函数
pause(1);
end
[/cc]

编程:[转载教程]MATLAB对于文本文件(txt)数据读取的技巧总结

振动论坛原版主eight的经典贴http://www.chinavib.com/thread-45622-1-1.html
MATLAB对于文本文件(txt)进行数据读取的技巧总结(经典中的经典)由于本帖内容较多,部分转自他人的心得,因此,凡转贴的地方仅用“—-转—-”标注,原作者略去,在此对所有原作者表示感谢!

特别说明:由于大家在 I/O 存取上以 txt 文件为主,且读取比存储更麻烦(存储的话 fwrite, fprintf 基本够用),因此下面的讨论主要集中在“txt 文件的读取”上。除了标注了“转”之外,其余心得均出于本人经验之结果,欢迎大家指正、补充。

一. 基本知识:
————————————————–转—————————————————-
1. 二进制文件与文本文件的区别:
将文件看作是由一个一个字节(byte) 组成的, 那么文本文件中的每个字节的最高位都是0,也就是说文本文件使用了一个字节中的七位来表示所有的信息,而二进制文件则是将字节中的所有位都用上了。这就是两者的区别;接着,第二个问题就是文件按照文本方式或者二进制方式打开,两者会有什么不同呢?其实不管是二进制文件也好,还是文本文件也好,都是一连串的0和1,但是打开方式不同,对于这些0和1的处理也就不同。如果按照文本方式打开,在打开的时候会进行translate,将每个字节转换成ASCII码,而以按照二进制方式打开的话,则不会进行任何的translate;最后就是文本文件和二进制文件在编辑的时候,使用的方式也是不同的。譬如,你在记事本中进行文本编辑的时候,你进行编辑的最小单位是字节(byte);而对二进制文件进行编辑的话,最小单位则是位(bit),当然我们都不会直接通过手工的方式对二进制文件进行编辑了。

从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种:
ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。例如,数5678的存储形式为:
ASCII码: 00110101   00110110   00110111   00111000
↓              ↓        ↓            ↓
十进制码:       5     6            7       8

共占用4个字节。ASCII码文件可在屏幕上按字符显示,例如源程序文件就是ASCII文件,用DOS命令TYPE可显示文件的内容。由于是按字符显示,因此能读懂文件内容。

二进制文件是按二进制的编码方式来存放文件的。例如,数5678的存储形式为:00010110   00101110 只占二个字节。二进制文件虽然也可在屏幕上显示,但其内容无法读懂。C系统在处理这些文件时,并不区分类型,都看成是字符流,按字节进行处理。输入输出字符流的开始和结束只由程序控制而不受物理符号(如回车符)的控制。因此也把这种文件称作“流式文件”。

编程: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与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语句应放在类型说明语句之前。