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
函数名 | 功能说明 | 函数名 | 功能说明 |
---|---|---|---|
colorbar | 颜色条显示 | montage | 按矩形剪辑方式显示多帧图像 |
getimage | 从坐标系中获取图像数据 | immovie | 从多帧索引图像中制作电影 |
image | 建立显示图像 | movie | 播放电影 |
subimage | 在同一图像窗口显示多个图像 | trueszie | 调整图像显示大小 |
imagesc | 调整数据并显示图像 | warp | 显示图像为纹理映射表面 |
imshow | 图像显示 | zoom | 二维图形放大或缩小 |
函数名 | 功能说明 | 函数名 | 功能说明 |
---|---|---|---|
imread | 图像文件读入 | load | 将以mat为扩展名的图像文件调入到内存 |
imwrite | 图像写出 | save | 将内存变量中图像保存到mat文件中 |
dicomread | 读取DICOM图像 | dicomwrite | 输出DICOM图像 |
iminfo | 查看图形信息 | |
|
函数名 | 功能说明 | 函数名 | 功能说明 |
---|---|---|---|
impixel | 返回选定图像像素颜色值 | imcontour | 画图像数据轮廓(等高线,等值线) |
improfile | 图像中沿一个路径的数据值计算 | imhist | 求图像数据直方图 |
mean2 | 求均值 | corr2 | 求相关系数 |
std2 | 求标准差 | |
|
函数名 | 功能说明 | 函数名 | 功能说明 |
---|---|---|---|
edge | 灰度图像边缘检测 | qtgetblk | 获得四叉树分解块值 |
qtecomp | 执行四叉树分解 | qtsetblk | 设置四叉树分解块值 |
函数名 | 功能说明 | 函数名 | 功能说明 |
---|---|---|---|
imadjust | 对比度调整 | medfilt2 | 二维中值滤波器 |
histeq | 直方图均衡 | ordfilt2 | 顺序统计滤波器 |
imnoise | 给图像增加噪声 | wiener2 | 二维自适应除噪滤波器 |
函数名 | 功能说明 | 函数名 | 功能说明 |
---|---|---|---|
conv2 | 二维卷积 | freqz2 | 计算二维频率响应 |
convmtx2 | 计算二维卷积矩阵 | fsamp2 | 用频率抽样设计二维FIR滤波器 |
convn | 多维卷积 | ftrans | 用频率抽样转换二维FIRlbq |
filter2 | 二维线性数字滤波器 | fwind1 | 用一维窗口方法设计二维FIR滤波器 |
fspecial | 产生预定义滤波器 | fwind2 | 用二维窗口方法设计二维FIR滤波器 |
frespace | 确定二维频率响应间隔 | |
|
函数名 | 功能说明 | 函数名 | 功能说明 |
---|---|---|---|
fft | 计算一维快速Fourier变换 | dct | 计算离散余弦变换 |
ifft | 计算一维FFT的逆变换 | idct | 计算离散反余弦变换 |
fft2 | 计算二维FFT | dct2 | 计算2D离散余弦变换 |
ifft2 | 计算二维逆FFT | idct2 | 计算2D反离散余弦变换 |
fftn | 计算多维FFT | dctmtx | 计算TCT矩阵 |
ifftn | 计算多维逆FFT | radon | 计算Radon变换 |
fftshift | 直流分量移到频谱中心 | |
|
函数名 | 功能说明 | 函数名 | 功能说明 |
---|---|---|---|
bestblk | 选择块处理的块大小 | colfilt | 使用列方向函数进行领域运算 |
blkproc | 对图像实行不同的块处理 | im2col | 重排图像块为矩阵列 |
col2im | 重排矩阵列成图像块 | nlfilter | 进行一般领域计算 |
函数名 | 功能说明 | 函数名 | 功能说明 |
---|---|---|---|
applylut | 使用查找表进行领域操作 | bwperim | 确定二值图像中的目标边界 |
bwarea | 计算二值图像中的目标区域 | bwselect | 选择二值图像中的目标 |
bweuler | 计算二值图像中的欧拉数 | dilate | 对二值图像进行膨胀计算 |
bwfill | 二值图像背景区域填充 | erode | 对二值图像进行寝蚀运算 |
bwlabel | 标识二值图像中的连接成分 | makelut | 构造查找表(applylut)使用 |
bwmorph | 二值图像形态运算 | |
|
函数名 | 功能说明 | 函数名 | 功能说明 |
---|---|---|---|
roicolor | 根据颜色选择要处理的区域 | roifilt2 | 对要处理区域滤波 |
roifill | 在任意区域内平滑差值 | roipoly | 选择要处理的多边形区域 |
函数名 | 功能说明 | 函数名 | 功能说明 |
---|---|---|---|
imcrop | 图像剪裁 | imrotate | 图像旋转 |
imresize | 图像大小调整 | interp2 | 二维数据差值 |
函数名 | 功能说明 | 函数名 | 功能说明 |
---|---|---|---|
brighten | 颜色图像变亮或变暗 | colormap | 设置获取图 |
cmpermute | 重新排列颜色图中的颜色 | imapprox | 由颜色较少的图像近似索引图像 |
cmunique | 寻找唯一的颜色图及相应的图像 | rgbplot | 绘制RGB颜色图 |
函数名 | 功能说明 | 函数名 | 功能说明 |
---|---|---|---|
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”]
%上半球
figure;
[x,y,z]=sphere(30);
z(z<0)=nan;
surf(x,y,z);
[/cc]
密码保护:IDEA!:远程MATLAB的一种方法——其运行逻辑图
数学:幂函数、指数函数和对数函数的图像(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绘制对数图像
[cc lang=”matlab”]
clear;
figure;
hold on;
grid;
x=logspace(0,5,20);
ya=log10(x);
yb=log(x)/log(1/10);
plot(x,ya);
plot(x,yb);
[/cc]
得到图像:
编程:MATLAB命令收录
管理命令和函数
help 在线帮助文件
doc 装入超文本说明
what M、MAT、MEX文件的目录列表
type 列出M文件
lookfor 通过help条目搜索关键字
which 定位函数和文件
Demo 运行演示程序
Path 控制MATLAB的搜索路径
管理变量和工作空间
Who 列出当前变量
Whos 列出当前变量(长表)
编程:MATLAB实现粒子二维随机运动轨迹
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
clear; n=10;%粒子数 step=200; %粒子前进的步数 jump=0.1; %每前进一步粒子的跳跃位置,这里认为是一个自然数,甚至程序中给出小数也可以。 figure; %创建绘图窗口 hold on; %打开重绘 grid; %显示网格 %以下是为了显示两个上下极限概率的边界 x_line=(1:step); y_line_upper=jump*x_line; %上边界的y值 y_line_lower=-jump*x_line; %下边界的y值 plot(x_line,y_line_upper); %绘制上边界 plot(x_line,y_line_lower); %绘制下边界 clear x_line;clear y_line_upper;clear y_line_lower; %清除这几个变量,节省内存 for m=1:n; %粒子数(n)个循环 move_x=zeros(100); %初始化粒子的横坐标位置数组 move_y=zeros(100); %初始化粒子的纵坐标位置数组 y=0; %初始位置的纵坐标 for x=1:step; %粒子随机前进500步 c=rand(1); %生成随机数 %以下生成的是非等概率分布 if c<=0.20 a=-jump; %概率分布为1/4 elseif c>0.10 && c<0.70 a=0; %概率分布为1/2 else a=jump; %概率分布为1/4 end y=y+a;%纵坐标y改变,横坐标是步长j move_x(x)=x; %把当前步长的粒子位置横坐标给位置数组 move_y(x)=y; %把当前步长的粒子位置纵坐标给位置数组 plot(x,y,'.'); %绘当前位置点 pause(0.00001);%延时绘图,动画显示 end plot(move_x,move_y,'r');%将点连线,形成粒子的运动轨迹 end clear all; %清除所有变量 |
视频演示:待更新
运行结果图展示:
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语句应放在类型说明语句之前。