在MATLAB中如何画如图的各截面图形如图所示

只需一步,快速开始
扫一扫,访问微社区
查看: 2893|回复: 14|关注: 0
小波分析的尺寸-平移量-幅度图如何画
<h1 style="color:# 麦片财富积分
新手, 积分 11, 距离下一级还需 39 积分
关注者: 1
最近看到一个名为《傅里叶分析与小波分析之间的关系?(通俗讲解)》的文章,里面有对信号进行小波变换,得到的图如下,我想要用matlab把它画出来,捣鼓很久不得其解,希望得到大家的指导。谢谢!
论坛优秀回答者
<h1 style="color:#9 麦片财富积分
关注者: 20
给你看个图吧!这是两个非平稳信号的连续小波变换!
<h1 style="color:# 麦片财富积分
关注者: 1
给你看个图吧!这是两个非平稳信号的连续小波变换!
你好,我是想画以scale和translation为横纵坐标的三维图,不过也很感谢哦^_^
论坛优秀回答者
<h1 style="color:#9 麦片财富积分
关注者: 20
对啊,小波一旦确定以后,每一个尺度就对应一个频率!
小波变换,不难,用点功夫就能学会!
matlab也在带连续小波变换函数cwt,可直接调用!
<h1 style="color:# 麦片财富积分
关注者: 1
本帖最后由 想做云朵的泡泡 于
09:43 编辑
对啊,小波一旦确定以后,每一个尺度就对应一个频率!
小波变换,不难,用点功夫就能学会!
matlab也在带连 ...
C:\Documents and Settings\Administrator\桌面\image 2
这是我做的小波变换的结果,左边是原始信号,那最初的那张图中的TRANSLATION是什么,该怎么得到,能指点一下吗?
论坛优秀回答者
<h1 style="color:#9 麦片财富积分
关注者: 20
translation应该就是时间!
<h1 style="color:# 麦片财富积分
关注者: 1
translation应该就是时间!
好的,那我看看自己的程序有什么问题,导致画出来的图不一样,谢谢
<h1 style="color:# 麦片财富积分
关注者: 1
对啊,小波一旦确定以后,每一个尺度就对应一个频率!
小波变换,不难,用点功夫就能学会!
matlab也在带连 ...
你好,能贴下你的程序吗?谢谢啦
论坛优秀回答者
<h1 style="color:#9 麦片财富积分
关注者: 20
我给你看一个列子你自己学习一下吧!是调用matlab自带的连续小波变换函数cwt写的!
%%%%%% 小波变换 %%%%%%%%%%%%%%%%
t=1/fs:1/fs:1;
f1=100;f2=200;f3=300;
s=cos(2*pi*f1*t.*(t&=0&t&0.3))+2*cos(2*pi*f2*t.*(t&=0.3&t&0.8))+3*sin(2*pi*f3*t.*(t&=0.8&t&=1));
%s=cos(2*pi*f1*t);
subplot(211)
plot(t,s,'b')
title('原始单频信号')
%%%%%%%%%%%%%%%%%%%%%%% 小波时频图绘制 %%%%%%%%%%%%%%%%%%%%%
wavename='cmor4-4';%%选用带宽参数和中心频率均为4 的复morlet小波
totalscal=256;%尺度序列的长度,即scal的长度
fc=centfrq(wavename);
%%%%%%%%% 绘制时间域小波波形 %%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
cparam=2*fc*
a=totalscal:-1:1;
scal=cparam./a;
coefs=cwt(s,scal,wavename,1/fs);
f=scal2frq(scal,wavename,1/fs);
subplot(212)
imagesc(t,f,abs(coefs));
colormap(jet)
xlabel('时间 t/s')
ylabel('频率 f/Hz')
title('小波时频图')
<h1 style="color:# 麦片财富积分
关注者: 1
太感谢你啦~谢谢谢谢:hug:
站长推荐 /3
筑起功能安全的堡垒 - 基于模型设计的软件开发
MATLAB中文论坛是全球最大的 MATLAB & Simulink 中文社区。用户免费注册会员后,即可下载代码,讨论问题,请教资深用户及结识书籍作者。立即注册加入我们吧!
MATLAB官方社交平台
MATLAB中文论坛微社区【图文】第5章 MATLAB图形绘制_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
第5章 MATLAB图形绘制
阅读已结束,下载本文到电脑
想免费下载本文?
登录百度文库,专享文档复制特权,积分每天免费拿!
你可能喜欢您的访问出错了(404错误)
很抱歉,您要访问的页面不存在。
1、请检查您输入的地址是否正确。
2、感谢您使用本站,通过
进行查找。
3、使用搜索框直接进行搜索学不可以已
[图像]用Matlab在图像上画矩形框
原创文章,欢迎转载。转载请注明:转载自
原文链接:
在毕业设计的时候写论文画图,要在一个图像上精确的标记出要处理的区域,用Photoshop或是其他绘图软件难免不精确,而且也不符合懒人思维(以后怎么办,要一劳永逸,嘿嘿),所以就自己写软件吧。
编程思想和注意事项
其实程序的思路很简单,就是在局域外面像素的值(颜色)覆盖掉就行了,但是要注意几点内容。
原图像通道问题(边框颜色问题)。图像的是单通道的(黑白)还是多通道的(彩色),这点在于你要的框的颜色,我的方法是如果是单通道的图,现将其处理为多通道。
边界问题。边框是有宽度的,而且我的框是向外填充的,所以要考虑到图像的边界问题,如果超出去了就会报错(图像在Matlab中以数组的形式存在,超出范围了就越界了)
像素点位置。图像在Matlab中是以数组的形式存放的,在图像像素坐标系中,x方向用数组的列表示,y方向用数组的行表示。在取图像元素时候一定要注意。
绘制矩形框程序
保存为 drawRect.m 文件,这是一个函数文件。
function [ dest ] = drawRect( src, pt, wSize,
lineSize, color )
if nargin & 5
color = [255 255 0];
if nargin & 4
lineSize = 1;
if nargin & 3
disp('输入参数不够 !!!');
[yA, xA, z] = size(src);
x1 = pt(1);
y1 = pt(2);
wx = wSize(1);
wy = wSize(2);
x1&xA || ...
y1&yA||...
(x1+wx)&xA||...
(y1+wy)&yA
disp('画的框将超过图像 !!!');
dest(:, : ,1) =
dest(:, : ,2) =
dest(:, : ,3) =
for c = 1 : 3
for dl = 1 : lineSize
d = dl - 1;
x1:(x1+wx) ,
x1:(x1+wx) , c
y1:(y1+wy) ,
y1:(y1+wy) ,
elseif 2==flag
(x1-d):(x1+wx+d) ,
(x1-d):(x1+wx+d) ,
(y1-d):(y1+wy+d) ,
(y1-d):(y1+wy+d) ,
调用主程序
调用drawRect.m 里的drawRect 函数。
%-----------------------------------
%给图像加一个矩形框
%-----------------------------------
[filename, pathname] = uigetfile({'*.jpg'; '*.bmp'; '*.gif'; '*.png' }, '选择图片');
if filename == 0
data = imread([pathname, filename]);
[m, n, z] = size(data);
pt = [185, 273];
wSize = [60,60];
des = drawRect(data,pt,wSize,5 );
subplot(1,2,1)
imshow(data)
subplot(1,2,2)
imshow(des)
有缺口的边框样式,在drawRect.m 文件中flag = 1 。
无缺口的边框样式,在drawRect.m 文件中flag = 2 。
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!

我要回帖

更多关于 如图为某同学画的洋葱 的文章

 

随机推荐