matlab之基本绘图函数

clear:清空内存中的变量;

figure:强制生成一个新的个绘图窗口;

syms x y t :声明变量;

fplot(函数表达式,绘图区间);

plot(横坐标向量,纵坐标向量,颜色/线形等参数)

ezplot(函数表达式):简单的fplot,easy fplot

axis([xmin xmax ymin ymax ...]):设置坐标轴显示范围

求极限

limit:

例:limit(F,x,a,left);对表达式F求极限,变量为x,从左边趋近a。

inf:正无穷;

-inf:负无穷。

求解线形方程

solve,linsolve

例:

A=[5 0 4 2;1 -1 2 1;4 1 2 0;1 1 1 1];

%矩阵的行之间用分号隔开,元素之间用逗号或空格

B=[3;1;1;0]

X=zeros(4,1);%建立一个4元列向量

X=linsolve(A,B)

diff(fun,var,n):对表达式fun中的变量var求n阶导数。

例如:F=sym('u(x,y)*v(x,y)'); %sym()用来定义一个符号表达式

diff(F); %matlab区分大小写

pretty(ans) %pretty():用习惯书写方式显示变量;ans是答案表达式

非线性方程求解

fsolve(fun,x0,options)

其中fun为待解方程或方程组的文件名;

x0位求解方程的初始向量或矩阵;

option为设置命令参数

建立文件fun.m:

function y=fun(x)

y=[x(1)-0.5*sin(x(1))-0.3*cos(x(2)), ...

x(2) -

0.5*cos(x(1))+0.3*sin(x(2))];

>>clear;x0=[0.1,0.1];fsolve(@fun,x0,optimset('fsolve'))

注:

...为续行符

m文件必须以function为文件头,调用符为@;文件名必须与定义的函数名相同;fsolve()主要求解复杂非线性方程和方程组,求解过程是一个逼近过程。

不定积分与定积分

不定积分:int(fun,var)

例:求∫sinaxsinbxsincxdx

syms a b c x

y=sin(a*x)*sin(b*x)*sin(c*x);

int(y,x);

pretty(ans)

定积分:int(fun,var,a,b)

其中a,b分别为上下限

foll

应用到的函数:

I=imread('图像文件名') :读取图像数据,保存在矩阵I中;

imshow(I) :显示灰度图像I,其他用法见matlab帮助;

I2=im2double(I1) :把图像数组I1转换成double精度类型;

D=dctmtx(n) :二维离散余弦变换函数,返回n*n离散余弦变换矩阵。

一个n*n的变换矩阵T被定义成:

Tpq=1/sqrt(n) ,当p=0,0<=q<=M-1;

Tpq=sqrt(2/n)*cos[pi*(2q+1)*p/2n] ,当1<=p<=M-1,0<=q<=M-1。

B=blkproc(A,[m n],fun,P1,P2...)

:块操作函数。对图像A的每个不同的m*n块应用fun函数,P1,P2等为fun函数参数。在图像边缘用0来扩展;只有当fun的返回矩阵是m*n矩阵时,B和A的大小才相同。

figure:强制生成一个新的个绘图窗口;

matlab实现离散余弦变换压缩(JPEG压缩原理)

JPEG图像压缩算法:

输入图像被分成8*8或16*16的小块,然后对每一小块进行二维DCT(离散余弦变换)变换,变换后的系数量化、编码并传输;

JPEG文件解码量化了的DCT系数,对每一块计算二维逆DCT变换,最后把结果块拼接成一个完整的图像。在DCT变换后舍弃那些不严重影响图像重构的接近0的系数。

DCT变换的特点是变换后图像大部分能量集中在左上角,因为左上放映原图像低频部分数据,右下反映原图像高频部分数据。而图像的能量通常集中在低频部分。

实例程序:

function Jpeg

I=imread('D:\MATLAB7\toolbox\images\imdemos\cameraman.tif');

%该图片在安装matlab的目录中找,原图为灰度图象

I=im2double(I);%图像存储类型转换

T=dctmtx(8);%离散余弦变换矩阵

B=blkproc(I,[8 8],'P1*x*P2',T,T');

%对原图像进行DCT变换

mask=[1 1 1 1 0 0 0 0

1 1 1 0 0 0 0 0

1 1 0 0 0 0 0 0

1 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0];

B2=blkproc(B,[8 8],'P1.*x',mask);

%数据压缩,丢弃右下角高频数据

I2=blkproc(B2,[8 8],'P1*x*P2',T',T);

%进行DCT反变换,得到压缩后的图像

imshow(I)

title('原始图像')

figure;

imshow(I2)

title('压缩后的图像')

运行结果:

空间曲线

例:求方程组的空间曲线

1。化为参数方程组

x=t

y=sqrt[t(1-t)]

z=sqrt[1-x^2-y^2]

2。 程序

t=0:0.001:1;

x=t;

y=sqrt(t.*(1-t));

z=sqrt(1-x.^2-y.^2);

plot3(x,y,z,z,-y,z)

其中.*为数组相乘,.^为数组乘方

空间曲面

mesh()函数语法:

mesh(Z):

mesh(X,Y,Z,C):其中C是用来定义相应点颜色等属性的数组

例:求x^2+y^2=z的空间曲面

x=-4:4;

y=x;

[X,Y]=meshgrid(x,y);%生成x,y坐标

Z=X.^2+Y.^2;

mesh(X,Y,Z)

级数的求和与收敛

symsum(fun,var,a,b):其中fun是通项表达式,var为求和变量,a为求和起点,b为求和终点

例如:I为1/[n*(2n+1)]从1到正无穷的和,求I

syms n;

f1=1/(n*(2*n+1));

I=symsum(f1,n,1,inf)

计算结果为:

I =2-2*log(2)

矩阵的基本运算

行列式求值:det(A)

矩阵加减:+、-

矩阵相乘:*

矩阵左除:A/B %相当于inv(A)*B

矩阵右除:A\B %相当于A*inv(B)

矩阵的幂:^

矩阵转置:'

矩阵求共轭(实部相同,虚部相反):conj(X)

矩阵求逆:inv(X)

图像类型与类型间的转换

1。索引图像:包括一个数据矩阵X和一个色图阵MAP。矩阵元素值指向MAP中的特定颜色向量。

2。灰度图像:数据矩阵I,I中的数据代表了颜色灰度值。矩阵中的元素可以是double类型、8位或16位无符号的整数类型。

3。RGB图像:即真彩图像。矩阵中每个元素为一个数组,数组的元素定义了像素的红、绿、蓝颜色值。RGB数组可以是double类型、8位或16位无符号的整数类型。

4。二值图像:一个数据阵列,每个象素只能取0或1。

图像类型转换函数:

dither() 通过颜色抖动,把真彩图像转换成索引图像或灰度图象转换成二值图像

gray2ind() 将灰度图像(或二值图像)转换成索引图像

grayslice() 通过设定的阈值将灰度图象转换成索引图像

im2bw() 通过设定亮度阈值将灰度、真彩、索引图象转换成二值图像

ind2gray() 将索引图象转换成灰度图象

ind2rgb() 将索引图象转换成真彩色图像

mat2gray() 将一个数据矩阵转换成一幅灰度图象

rgb2gray() 将真彩转换成灰度图象

rgb2ind() 将真彩转换成索引图象

图像数据类型及转换函数

默认情况下,matlab将图象中的数据存储为double型,即64位浮点数;matlab还支持无符号整型(uint8和uint16);uint型的优势在于节省空间,涉及运算时要转换成double型。

im2double():将图象数组转换成double精度类型

im2uint8():将图象数组转换成unit8类型

im2uint16():将图象数组转换成unit16类型

matlab中dither 函数,(转)matlab里一些简单的函数相关推荐

  1. matlab子函数调用变量,matlab中,怎么样用function自定义函数调用另一个函数名为输入?...

    点击查看matlab中,怎么样用function自定义函数调用另一个函数名为输入?具体信息 答:test定义两个参数,一个是函数,一个是函数的变量. function [z]=test11(funna ...

  2. JavaScript函数式编程(纯函数、柯里化以及组合函数)

    JavaScript函数式编程(纯函数.柯里化以及组合函数) 目录 JavaScript函数式编程(纯函数.柯里化以及组合函数) 前言 1.纯函数 1.1.纯函数的概念 1.2.副作用 1.3.纯函数 ...

  3. matlab中ln4怎么表示,matlab里ln怎么表示

    matlab中图中颜色和形状表示_数学_自然科学_专业资料.颜色字符串有'c', 'm', 'y', 'r', 'g', 'b', 'w',和'k'.分别表示青,红紫,黄,红,绿,白...... 上下 ...

  4. matlab中conv什么意思,matlab卷积函数conv matlab中conv()是什么意思?

    matlab中conv()是什么意思? conv(向量卷积运算) 两个向量卷积,简单理解其实就是多项式乘法. 比如:p=[1 2 3],q=[1 1]是两个向量,p和q的卷积计算方法如下: 把p的元素 ...

  5. Matlab中的特殊函数使用(合流超几何函数、Kummer函数、贝塞尔函数等)

    matlab对于特殊函数的支持和说明并不向mathematica那样灵活详细,功能也逊色一些,但对于工科生而言基本是够用了,下面做一些总结. 合流超几何函数(Confluent hypergeomet ...

  6. matlab中dist的命令,matlab dist函数

    dist--欧式距离加权函数(Euclidean distance weight function) 语法: Z = dist(W,P) df = dist('deriv') D = dist(pos ...

  7. matlab中trapz的用,matlab使用trapz函数对积分的运算

    Matlab中find函数使用 输出是对的.因为他找到的是B(2:n,2)中的第一个元素.你可以好好看看find函数的作用.你如果写下面代码应该就对了:A=B(2:n,2);A(q=find(B(2: ...

  8. matlab中oad什么意思,MATLAB函数参考

    MATLAB主要命令汇总: 附录1.1 管理用命令 函数名    功能描述    函数名    功能描述 addpath    增加一条搜索路径    rmpath    删除一条搜索路径 demo  ...

  9. matlab中label的意思,matlab中label函数

    Xlabel Ylabel Text Gtext Grid MATLAB 编程语言 Function Eval Feval Global 箭头图 绘图函数 星点图 Isletter Isspace 当 ...

  10. matlab中非0即1函数,matlab 中统计一个数组中非零元素个素的函数名称是什么?

    可以自己写一个函数用来给数组排序.或者用MATLAB自带的 Matlab 用sort函数排序 二维数组2008-09-14 22:51在Matlab中排序某个向量(一维)时,可以使用sort(A),其 ...

最新文章

  1. Smart-linkmonitor-link配置注意事项
  2. 虚拟机WIN7显示主机ubuntu的文件
  3. 高频PCB设计事项一
  4. 百度面试 中缀表达式变成后缀表达式
  5. 主流html5桌面应用开发,主流HTML5开发工具推荐
  6. 网页中获取微信用户是否关注订阅号的思路
  7. 数据可视化应用案例:麦当劳和肯德基全国门店分布,谁才是分布最广的炸鸡店?
  8. [网络安全提高篇] 一〇九.津门杯CTF的Web Write-Up万字详解(SSRF、文件上传、SQL注入、代码审计、中国蚁剑)
  9. ORACLE系统表大全
  10. YOLO (You only look once) 实时目标检测
  11. ORA-01172,ORA-01151
  12. Koa -- 基于 Node.js 平台的下一代 web 开发框架
  13. 独立线性度 最佳直线
  14. 调整Tomcat上的参数提高性能[转]
  15. CCNP-第一篇-思科SLA+华为BFD+ODR+浮动路由
  16. @RequestBody应用,requestbody
  17. 使用JMH做Java微基准测试(二)Hello2020!
  18. 拉普拉斯方程在球、柱坐标系下的解
  19. 基于yolo3 与crnn 实现中文自然场景文字检测及识别
  20. python内置函数系列之str(一)(持续更新)

热门文章

  1. layui上传图片列表展示_layui怎么做图片在列表中显示 | 学步园
  2. 在线作图|如何绘制一张三元相图
  3. MPB:宁大张德民组-对虾养殖系统微生物组样品的采集与制备
  4. 微生物领域非顶级期刊概述
  5. 中科院遗传发育所发表“重组菌群体系在根系微生物组研究中应用”的重要综述...
  6. 你和PPT高手之间,就只差一个iSlide
  7. Error: Discrete value supplied to continuous scale
  8. R语言ggplot2可视化:可视化人口金字塔图、人口金字塔显示不同性别不同年龄段的人口数,是了解人口组成的最优可视化方法、人口金字塔图可以用来表示按体积排序的群体的分布、形成漏斗结构
  9. R语言使用moments包计算偏度(Skewness)和峰度(Kurtosis)实战:计算偏度(Skewness)和峰度(Kurtosis)、确定样本数据是否具有与正态分布匹配的偏度和峰度(假设检验)
  10. R语言使用caret包的confusionMatrix函数计算混淆矩阵、使用编写的自定义函数可视化混淆矩阵(confusion matrix)