24小时热门版块排行榜    

查看: 633  |  回复: 3

robustsong

金虫 (初入文坛)

[求助] 在Matlab里怎么把Vector按照某种比例边短

我现在在做一个胶体中溶剂蒸发模型。胶体底下是铁板,上面是空气,不考虑胶体的面积,溶剂会慢慢从上表面蒸发掉。胶体的厚度也会慢慢变薄,一直到所有的溶剂蒸发完毕。
假设初始状态是:厚度Z0,溶剂浓度是C0,为了分析方便,把Z0均匀的分成了N层,每层的厚度是dZ,溶剂的初始浓度是C0
我是用用最简单的差分算法,这就会涉及到vector的长度缩短问题。
dZ应该是固定的,那么随着Z的变小,N也在变小。那么表达溶剂浓度的vector也在边小。有没有一个方程能够表达这个变化?

比如,初始时,厚度Z=5,dZ设为1,那么一共5层,N=5,C=[0.5 0.5 0.5 0.5 0.5]
用for循环语句做,算完第一次,C=[0.5 0.5 0.4 0.3 0.2],计算厚度变化,Z=4.5,N还是认为5层,
继续循环计算
蒸发了一段时间,C=[0.4 0.3 0.2 0.1 0.01],厚度变为了4,dz还是1,那么N=4,这时候要进行下一轮计算,使用的浓度矩阵变成了一个1X4的了。我想知道如何把一个1X5的矩阵按照比例
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖


感谢参与,应助指数 +1
csgt0: 金币+1, 谢谢 2013-04-15 15:13:25
matlab中的数据类型比较简单,除了不怎么常用的cell和struct等,基本全是matrix,哪怕是一维vector,你也看做是1*length的矩阵就行.所有操作都用下标来,直接用下标可以裁剪vector,给你个例子,你马上就明白了
CODE:
>> c = 1:10

c =

     1     2     3     4     5     6     7     8     9    10

>> c(1:4)

ans =

     1     2     3     4

>> c(1:6)

ans =

     1     2     3     4     5     6

matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
2楼2013-04-12 16:21:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

robustsong

金虫 (初入文坛)

引用回帖:
2楼: Originally posted by libralibra at 2013-04-12 16:21:48
matlab中的数据类型比较简单,除了不怎么常用的cell和struct等,基本全是matrix,哪怕是一维vector,你也看做是1*length的矩阵就行.所有操作都用下标来,直接用下标可以裁剪vector,给你个例子,你马上就明白了
>> ...

谢谢回复,不过你没有明白我的意思。
以这个为例子,
转换前是一个1X5的矩阵,C=[0.4 0.3 0.2 0.1 0.01]。 sum(C)=1.01
转换后是一个1X4的矩阵,现在的C可能是这个样子了:C=[0.404 0.303 0.202 0.101],保持sum(C)=1.01不变,
请问如何操作,谢谢了
3楼2013-04-12 22:11:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖


csgt0: 金币+1, 多谢指导 2013-04-16 16:16:13
引用回帖:
3楼: Originally posted by robustsong at 2013-04-12 22:11:20
谢谢回复,不过你没有明白我的意思。
以这个为例子,
转换前是一个1X5的矩阵,C=。 sum(C)=1.01
转换后是一个1X4的矩阵,现在的C可能是这个样子了:C=,保持sum(C)=1.01不变,
请问如何操作,谢谢了...

你还是没讲明白,sum(C)不变从长度5到长度4还是有多种变化方式的.你具体怎么变很重要.
例如你的例子,0.01不见了,把0.01分成0.004,0.003,0.002和0.001加给了前4项,你怎么分这个0.01会造成不同的结果.例如你分成4个0.0025,分别加了后变成
C=[0.4025 0.3025 0.2025 0.1025],sum(C)=1.01不会变的.
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
4楼2013-04-15 16:26:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 robustsong 的主题更新
信息提示
请填处理意见