请教抽样函数怎么用 – matlab随机抽样中文论坛

查看: 116|回复: 2|关注: 0
小白求教 surf 函数如何调整画图的区间
<h1 style="color:# 麦片财富积分
新手, 积分 5, 距离下一级还需 45 积分
小弟的surf函数是这么用的&&surf(V) 这个V是一个矩阵&&我的矩阵数据都是相差e-8&&所以画图的时候数据的区间就只有零点零零几微米& &而小弟我想展示的区间是一个几微米的区间 不知道怎么调整呢&&也不知道小弟说明白没有&&求大神帮帮忙& &来张图吧& &我的图里面黑乎乎一片的东西是我的数据点& &但是显示的尺度太小了& &原本应该这些点都应该在一个薄薄的平面上&&现在给放大了&&怎么能改小呢
<h1 style="color:# 麦片财富积分
区间控制,试试xlim([a b ])复制代码或者ylim([a b ])复制代码或者zlim([a b ])复制代码
<h1 style="color:# 麦片财富积分
区间控制,试试 或者 或者
我自己在轴属性里找到控制的方法了&&可以随便调& & 谢谢你了
站长推荐 /1
Powered by查看: 38130|回复: 18|关注: 0
Matlab关于reshape函数的使用
<h1 style="color:# 麦片财富积分
新手, 积分 5, 距离下一级还需 45 积分
关注者: 1
发现reshape使用时,是先填充列。
有没有办法使他先填充行呢?
比如reshape(t,5,6)形成5行的6列的数组。他是先把t的数据依次填充到第一列,再填充到第二列,。。。。。。。
能不能使他先填充第一行,再填充第二行,直至完成。
[ 本帖最后由 lexiaoyao_lxl 于
20:45 编辑 ]
<h1 style="color:# 麦片财富积分
矩阵转置一下
成功是属于有准备的人!
<h1 style="color:# 麦片财富积分
关注者: 1
回复 2# happy_20012 的帖子
相当有速度~~~谢
搞定,做了两次转置才行
是这样的,我要reshape的数据是一个列向量,直接reshape得不到我想要的结果。
现在先转置再reshape,再转置。搞定了
<h1 style="color:# 麦片财富积分
回复 2# happy_20012 的帖子
顶一下&&这个论坛太强了 佩服啊
<h1 style="color:# 麦片财富积分
没觉得强大
<h1 style="color:# 麦片财富积分
回复 4# baiknife 的帖子
真2,这个论坛没人,除了丁某卖书,根本不做指导
<h1 style="color:# 麦片财富积分
你真2,你又不给论坛交学费,人家凭什么指导你,有资料下载,可以交流就已经很不错了!!你给大学里交学费,你导师每天你随叫能随到来知道你!!!呵呵
<h1 style="color:# 麦片财富积分
论坛的人气的好坏是要大家每个人都来参与的,如果来了只是为了得到别人的帮助,而从来不关心别人的提问,。。。
其实很多人都很自私。。。。。
<h1 style="color:# 麦片财富积分
又解决了一个问题!GUI刚学几天,遇到各种问题,还好有各路高人指点~~:P
<h1 style="color:# 麦片财富积分
过来学习了~~;P
站长推荐 /1
Powered by查看: 6254|回复: 14|关注: 0
如何在matlab gui界面的edit text中输入函数画图
<h1 style="color:# 麦片财富积分
新手, 积分 6, 距离下一级还需 44 积分
关注者: 1
我想在matlab gui的edit text中输入函数公式,然后通过pushbutton按钮,在axes中画出图像。希望有精通matlab的给予我帮助,谢谢!
<h1 style="color:#1 麦片财富积分
关注者: 6
画图用ezplot吧,可以直接画字符串公式的图形,比较方便,比如:ezplot('x^2-y^4')
详细的你可以查看help
至于详细的GUI设计,你自己设置一下吧,应该不难。
<h1 style="color:# 麦片财富积分
关注者: 1
画图用ezplot吧,可以直接画字符串公式的图形,比较方便,比如:ezplot('x^2-y^4')
详细的你可以查看help
主要我是要做一个GUI操作界面,ezplot虽然不用指定自变量范围,但是我如果查看任意区间的图像会不会不方便啊,求解答
<h1 style="color:#1 麦片财富积分
关注者: 6
|此回复为最佳答案
可以指定区间,你可以用这个格式:ezplot('x^2-y^4',[xmin,xmax,ymin,ymax])
xmin,xmax,ymin,ymax你可以在回调函数里定义
ezplot('x^2-y^4',[-3, 3, -3, 3])
<h1 style="color:# 麦片财富积分
关注者: 1
可以指定区间,你可以用这个格式:ezplot('x^2-y^4',[xmin,xmax,ymin,ymax])
xmin,xmax,ymin,ymax你可以在 ...
谢谢,这个方法挺好!还有,我想请教你另外一个问题
user_string = get(handles.edit1,'String') ;
str=user_string{1};
x=0:0.01:8;
y1=sym(str);
y=subs(y1,t,x);
axes(handles.axes1)
plot(x,y);
如果默认edit的显示为edit text,不会报错,但我一旦清空的它的默认显示“edit text”就会报错,为什么
<h1 style="color:#1 麦片财富积分
关注者: 6
默认的时候callback还没有执行,如果你清空并这个callback,string就是空的,下面y的值是空的,所以报错。
<h1 style="color:# 麦片财富积分
关注者: 1
默认的时候callback还没有执行,如果你清空并这个callback,string就是空的,下面y的值是空的,所以报错。 ...
哦,这样啊,但是我觉得初始窗口里面有默认的字体“edit text”太难看了,没别的办法能弄没了吗
<h1 style="color:#1 麦片财富积分
关注者: 6
你可以直接在edit text这个控件的默认设置里直接把“String”这项清空(删掉“edit text”)
<h1 style="color:# 麦片财富积分
关注者: 1
你可以直接在edit text这个控件的默认设置里直接把“String”这项清空(删掉“edit text”) ...
那样不行,提示报错的
<h1 style="color:#1 麦片财富积分
关注者: 6
那在默认设置里把“String”改成0呢?
站长推荐 /1
Powered by查看: 3264|回复: 9|关注: 0
多次使用solve函数后内存无法释放
<h1 style="color:# 麦片财富积分
新手, 积分 5, 距离下一级还需 45 积分
& && & 今天在while循环中使用solve的时候发现,当迭代运行solve很多次后(几百次),内存占用量就超过了1G,并且matlab产生假死现象。而如果减少迭代次数,勉强跑完程序,再使用clear all等命令,matlab占用的内存仍旧达到六七百兆,远高于正常水平。除非重启matlab,否则就无法释放内存。怀疑是符号工具箱(或者MuPAD)占用了大量的内存,却又找不到什么好的方法处理。不知是否有办法解决这个问题。还望高人指教!
关注者: 28
今天在while循环中使用solve的时候发现,当迭代运行solve很多次后(几百次),内存占用量就超过了1G
this is not big at all
并且matlab产生假死现象。而如果减少迭代次数,勉强跑完程序,再使用clear all等命令
did you see any warning when using clear all ?
matlab占用的内存仍旧达到六七百兆,远高于正常水平。&&
when starting up, how many does matlab take ?
除非重启matlab,否则就无法释放内存。怀疑是符号工具箱(或者MuPAD)占用了大量的内存,
it the toolbox need to take that much memory, its OK.
却又找不到什么好的方法处理。不知是否有办法解决这个问题。还望高人指教!
<h1 style="color:# 麦片财富积分
oopmatlab 发表于
今天在while循环中使用solve的时候发现,当迭代运行solve很多次后(几百次),内存占用量就超过了1G
this i ...
首先谢谢斑竹的耐心解答!
我把您提到的几个问题再仔细描述一下。
1)开机时matlab所占内存大约在200M~300M。而运行完有大量solve函数的程序后会达到平常的两三倍以上(取决于solve的调用次数)
2)使用solve函数或者clear all命令时,均没有出现任何警告,应该是正常调用。
3)solve是在while循环中,而且solve得到的数值也不需要全部存储,不知为何仍旧占用如此大的内存(如果将solve换成搜索算法的话,内存使用量不会超过400M)
4)1G内存对于这样一个小程序来说还是偏多了。
在使用solve时遇到了这种现象,而且可以预见到,如果以后编写更大的程序,使用更多的solve,系统的开销可能会更大(内存占用量是随着程序的运行次数积累的,无法清除,只能重启matlab,显得很不方便),所以想搞清楚这到底是怎么一回事,是不是有方法可以解决,或者说是否是自己在使用时有什么地方还可以优化。
再次感谢斑竹的回答!
关注者: 28
wwmmc 发表于
首先谢谢斑竹的耐心解答!
我把您提到的几个问题再仔细描述一下。
1)开机时matlab所占内存大约在200M~30 ...
首先谢谢斑竹的耐心解答!
我把您提到的几个问题再仔细描述一下。
1)开机时matlab所占内存大约在200M~300M。而运行完有大量solve函数的程序后会达到平常的两三倍以上(取决于solve的调用次数)&&
its normal, it probably sym toolbox's&&dll is not loaded upon startup
2)使用solve函数或者clear all命令时,均没有出现任何警告,应该是正常调用。
3)solve是在while循环中,而且solve得到的数值也不需要全部存储,不知为何仍旧占用如此大的内存(如果将solve换成搜索算法的话,内存使用量不会超过400M)
put your work in a function, and call that function , after thing get done, function exit , local variable will be destroyed, see if that works.
(如果将solve换成搜索算法的话,内存使用量不会超过400M)
lets not compare, its orange and apple.
4)1G内存对于这样一个小程序来说还是偏多了。
在使用solve时遇到了这种现象,而且可以预见到,如果以后编写更大的程序,使用更多的solve,系统的开销可能会更大(内存占用量是随着程序的运行次数积累的,
try use memory before and after you call the function , monitor the memory changes
无法清除,只能重启matlab,显得很不方便),所以想搞清楚这到底是怎么一回事,是不是有方法可以解决,或者说是否是自己在使用时有什么地方还可以优化。
再次感谢斑竹的回答!
<h1 style="color:# 麦片财富积分
oopmatlab 发表于
首先谢谢斑竹的耐心解答!
我把您提到的几个问题再仔细描述一下。
1)开机时matlab所占内存大约在200M~30 ...
再次感谢版主的解答!您的分析提供了一个很好的解决问题的思路!
其实我之前尝试比较过将solve在函数中调用和直接在script中调用,发现内存占用量没有什么大的差别。
这次我尝试着按您说的方法监控调用函数前后的内存变化情况。结果如下:
每次调用函数后(函数中只有一句:alpha=double(solve(phy_diff));%其中phy_diff是一个变量的表达式,函数返回值为alpha),“Memory used by MATLAB:”一项比调用前多3-5MHz,每调用一次都会增加。给人的感觉就是虽然函数只是返回了一个double类型的数,但是它在运行过程中占用的资源似乎并没有得到释放。不知您对这个现象怎么看。
<h1 style="color:# 麦片财富积分
oopmatlab 发表于
首先谢谢斑竹的耐心解答!
我把您提到的几个问题再仔细描述一下。
1)开机时matlab所占内存大约在200M~30 ...
再次感谢版主的解答。您提供的分析问题的方法确实让人受益匪浅。
其实我之前尝试过比较solve放入函数中和直接在script中使用,发现两者所占内存大抵相当。
今天我又按照您说的方法,将solve放入函数中,并检测在调用函数前后的内存使用变化情况。发现,每次调用函数前后,“Memory used by MATLAB:”都会增加3~5M。所调用的函数中只包括以下一句话:
alpha=double(solve(phy_diff));
其中,alpha为函数的唯一返回值,phy_diff是包含一个未知数的非线性式子。
又尝试直接将这句写在script里,仍旧监测到相同的情况。也即是说,matlab在调用完函数,执行完solve后,似乎并没有释放掉所占用的内存。不知您对这个问题怎么看?
之前回复了一次,因为改正一个笔误,重新提交后不见了,不知通没通过审查,我重新再发一次。
关注者: 28
wwmmc 发表于
再次感谢版主的解答。您提供的分析问题的方法确实让人受益匪浅。
其实我之前尝试过比较solve放入函数中和 ...
再次感谢版主的解答。您提供的分析问题的方法确实让人受益匪浅。
其实我之前尝试过比较solve放入函数中和直接在script中使用,发现两者所占内存大抵相当。
it probably means , that your data is not that big
今天我又按照您说的方法,将solve放入函数中,并检测在调用函数前后的内存使用变化情况。发现,每次调用函数前后,“Memory used by MATLAB:”都会增加3~5M。所调用的函数中只包括以下一句话:
alpha=double(solve(phy_diff));
if you return something back to the main, it should be&&normal , how big is your alpha ?
其中,alpha为函数的唯一返回值,phy_diff是包含一个未知数的非线性式子。
又尝试直接将这句写在script里,仍旧监测到相同的情况。
if its in script, matlab wont destory it unless you clear all, or quit
也即是说,matlab在调用完函数,执行完solve后,似乎并没有释放掉所占用的内存。
不知您对这个问题怎么看?
My assumption , it is unlikely this toolbox has leak,&&last thing you can try :
start with simple demo example, where you know how big the&&data is, call solve 1000 times(within a function)
and then clear all, check memory
if there is leak, its not your problem, upgrade your MATLAB , and report it to mathworks
if there isn't , there might be something in your program you did not take good care of.
<h1 style="color:# 麦片财富积分
oopmatlab 发表于
再次感谢版主的解答。您提供的分析问题的方法确实让人受益匪浅。
其实我之前尝试过比较solve放入函数中和 ...
我按照您的方法重新编了测试程序,发现运行1000次后,clear all确实能够回到原来的内存状态。也就是说solve函数应该是没什么问题的。可能还是我的程序在某个细节上处理得有一些小问题吧。精力有限,也就不再去查了,(我已经采取了别的算法,规避了使用solve,并且新算法效果要优于直接采用solve)。
这个问题就暂告一段落了,再次感谢您耐心细致的答复!从您分析问题解决问题的思路中,我学到了非常多的东西,受益匪浅!希望以后还有机会和您交流探讨!也祝您生活工作一切顺利!
<h1 style="color:# 麦片财富积分
分析的很精彩,正好学习学习!
<h1 style="color:# 麦片财富积分
是不是在计算过程当中,如果在循环当中反复的调用fsolve,命令也同样会带来这样的结果?应该怎么处理这样的问题啊??求指导
站长推荐 /1
Powered by查看: 12787|回复: 8|关注: 0
求教Matlab中关于strel函数的问题
<h1 style="color:# 麦片财富积分
新手, 积分 5, 距离下一级还需 45 积分
要做Laganière Detector的仿真,这里面要用到4种SE,其中有两种结构不知道怎么用strel函数来实现,一个是“+”结构的,一个是“×”结构的。望能者指导指导!!
[ 本帖最后由 mooni 于
20:36 编辑 ]
<h1 style="color:#1 麦片财富积分
关注者: 44
不知道结构?应该就不能用strel函数了吧,strel函数必须要指定shape的类型
<h1 style="color:# 麦片财富积分
STREL 创建形态学结构元素。
& & SE = STREL('arbitrary',NHOOD) 创建一个指定领域的平面结构化元素。NHOOD是一个包含1/0的矩阵;1的位置定义了领域的形态学操作。NHOOD的中心就是它的中心元素,位置在FLOOR((SIZE(NHOOD) + 1)/2)。你也可以忽略参数串'arbitrary'而只使用STREL(NHOOD).
& & SE = STREL('arbitrary',NHOOD,HEIGHT) 创建一个指定领域的非平面结构化元素。HEIGHT是一个矩阵,大小和NHOOD相同,他指定了NHOOD中任何非零元素的高度值。HEIGHT必须是实有限值。你也可以忽略参数串'arbitrary'而只使用STREL(NHOOD,HEIGHT).
& & SE = STREL('ball',R,H,N) 创建一个空间椭球状的结构元素,其X-Y平面半径为R,高度为H。R必须为非负整数,H是一个实数。N必须为一个非负偶数,当N&0时此球形结构元素由一系列空间线段结构元素来近似;当N=0时不需要近似,结构化元素的成员由所有中心距圆点&R的元素组成,相应的高度值可由R/H指定的椭球中提取。如果N未指定,缺省值8,并且。注: 使用球体近似的形态学操作N&0的情况要比N=0的情况快许多。
& & SE = STREL('diamond',R) 创建一个指定大小R平面钻石形状的结构化元素。R是从结构化元素原点到其点的距离,必须为非负整数。
& & SE = STREL('disk',R,N) 创建一个指定半径R的平面圆盘形的结构元素。这里R必须是非负整数. N须是0, 4, 6, 8.当N大于0时,圆盘形结构元素由一组N(或N+2)个周期线结构元素来近似。当N等于0时,不使用近似,即结构元素的所有像素是由到中心像素距离小于等于R的像素组成。N可以被忽略,此时缺省值是4。注: 形态学操作在N&0情况下要快于N=0的情形。
<h1 style="color:# 麦片财富积分
你们说的我知道,我用arbitrary去做,但是每次都只是一条线而已,不是我想要的任意形状,我现在就是要做出“+”和“× ”的SE啊!就是这样子的:
[ 本帖最后由 花似梦 于
21:39 编辑 ]
<h1 style="color:# 麦片财富积分
怎么没有人来给我解答了呢?很想知道啊~!!!
<h1 style="color:# 麦片财富积分
拜读了& &看看还有什么高见
<h1 style="color:# 麦片财富积分
正在找相关的资料,想向楼主请教该函数的原理依据即就是它的公式和相关资料。希望楼主知道的话能给与答复
<h1 style="color:# 麦片财富积分
直接给se矩阵值,怎么样?
<h1 style="color:# 麦片财富积分
:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@
站长推荐 /1
Powered by

我要回帖

更多关于 matlab随机抽样函数 的文章

 

随机推荐