24小时热门版块排行榜    

CyRhmU.jpeg
查看: 3515  |  回复: 3
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

kychengpeng

新虫 (初入文坛)

[求助] 求写出一个变量的表达式已有3人参与

定义一个变量k_si,满足 k_si=1.63e-10*(1/(1-T)-3.9*T) 且 k_si<=1.63e-6 ,请问这个在comsol表达式栏要怎么输入?

如果不能直接在comsol中实现,那如果用MATLAB导入,在MATLAB里怎么写?
MATLAB只会写第一项,求实现k_si<=1.63e-6
        function out = k_si(T)
        out = 1.63e-10.*(1./(1-T)-3.9.*T);
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

原谅我这一生不羁放纵爱自由
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

relive012429

铁杆木虫 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
comsol中可以实现,在model下的definition下定义variables,将变量表达式输入进去就可以,之后在模型里你需要引用变量表达式的地方,直接填写变量名就可以了
Move forward with grateful heart.
4楼2014-09-07 17:46:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 4 个回答

herowolf

木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
kychengpeng: 金币+5 2014-09-17 16:15:50
comsol 不太懂,Matlab 中可以这样实现

function out = k_si(T)
        out = 1.63e-10.*(1./(1-T)-3.9.*T);

        If out >1.63e-6
        error('k-si is out of range');
        end
2楼2014-09-05 22:09:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyq.4669

木虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
kychengpeng: 金币+5 2014-09-17 16:16:01
可以尝试用逻辑表达式,个可以试试这个
k_si=(k_si<=1.63e-6 ).*1.63e-10*(1/(1-T)-3.9*T)

右边第一各括号里的逻辑满足则为1,否则为0
MATLAB中分段函数大多用这种表达式,比较简单
comsol也一样
comsol学习中
3楼2014-09-06 14:40:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见