24小时热门版块排行榜    

查看: 1734  |  回复: 10

379631818

铁杆木虫 (著名写手)

[交流] 【求助】关于matlab中的函数代换 已有2人参与

有一系列表达式(20个):
f(x)*e^(3*x)+f(x)*e^(5*x)+f(x)*e^(7*x)+……+f(x)*e^(41*x)
同时又知道f(x)*e^(a*x)=f(x+a),
请问如何操作,可以让表达式的和为:f(x+3)+f(x+5)+f(x+7)+……+f(x+41)
谢谢!
其实这里a是任意一个数值,题目的要求是将任意函数f(x)*e^(a*x)批量转化为f(x+a), 函数f(x)是一个比较复杂的式子

[ Last edited by 379631818 on 2010-5-23 at 14:58 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

379631818

铁杆木虫 (著名写手)

大家帮帮忙呀
2楼2010-05-22 10:59:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lijinfeng042

木虫 (小有名气)

Matlab


robert2020(金币+1):鼓励应助。欢迎常来仿真模拟版交流。 2010-05-22 22:39:05
f(x)*e^(3*x)+f(x)*e^(5*x)+f(x)*e^(7*x)+……+f(x)*e^(41*x)
这个表达式当作字符串用正则处理 在经过字符串运算组合成你需要的样子 但是感觉还不如直接输入 不知道你的作用是什么
只是纯粹的弄成那个形式吗? 呵呵
工作了,偶尔会上来~可以关注新浪微博 @云是风的梦_Matlab
3楼2010-05-22 17:03:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

379631818

铁杆木虫 (著名写手)

nono2009:建议通过“引用回复该帖”,以便别人收到你的message. 2010-05-22 18:03:52
感觉subs有可能解决这个问题

换个角度吧,在matlab中如何定义一个函数
令f(x)=sin(x)+cos(x), 用matlab画出f(x)的图形,
那么如何画出f(x-5)的图形

[ Last edited by 379631818 on 2010-5-22 at 17:53 ]
4楼2010-05-22 17:20:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lijinfeng042

木虫 (小有名气)

Matlab


robert2020(金币+1):楼主的问题似乎还没有解决,鼓励继续解答。 2010-05-22 22:40:48
引用回帖:
Originally posted by 379631818 at 2010-05-22 17:20:34:
感觉subs有可能解决这个问题

换个角度吧,在matlab中如何定义一个函数
令f(x)=sin(x)+cos(x), 用matlab画出f(x)的图形,
那么如何画出f(x-5)的图形

[ Last edited by 379631818 on 2010-5-22 at 17:53 [ ...

好像是不同的问题吧 图形那个简单啊
clc
clear all
x=1:0.1:10;
y1=f(x);
y2=f(x-5);
plot(x,y1,'r+',x,y2,'go')
legend('f(x)','f(x-5)',1);
%%%%%%%%%%%%%%%f.m
function F=f(x)
F=sin(x)+cos(x);      %定义函数关系式




[ Last edited by lijinfeng042 on 2010-5-22 at 18:36 ]
工作了,偶尔会上来~可以关注新浪微博 @云是风的梦_Matlab
5楼2010-05-22 18:35:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

379631818

铁杆木虫 (著名写手)

zzuwangshilei:鼓励进一步讨论自己的话题 2010-05-23 10:08:53
引用回帖:
Originally posted by lijinfeng042 at 2010-05-22 18:35:13:

好像是不同的问题吧 图形那个简单啊
clc
clear all
x=1:0.1:10;
y1=f(x);
y2=f(x-5);
plot(x,y1,'r+',x,y2,'go')
legend('f(x)','f(x-5)',1);
%%%%%%%%%%%%%%%f.m
function F=f(x)
F=sin(x)+cos(x);  ...

还是没有用到函数代换
我的代码:

f=inline('sin(x)+cos(x)');fplot(f,[-10,10],'b');hold on;syms x;fplot(inline(subs(f,x,x-5)),[-10,10],'r');

这里
inline(subs(f,x,x-5))

ans =

     Inline function:
     ans(x) = sin(x-5)+cos(x-5)

我要的正是这种符号结果,而不是数值结果
所以,我的问题还没有解决,希望各位高手帮助!



[ Last edited by 379631818 on 2010-5-23 at 10:54 ]
6楼2010-05-22 19:43:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lijinfeng042

木虫 (小有名气)

Matlab

★ ★
adu886886(金币+2):鼓励应助 2010-05-23 13:47:18
379631818(金币+6):谢谢帮助,希望继续努力进一步解决问题 2010-05-23 14:53:17
引用回帖:
Originally posted by 379631818 at 2010-05-22 19:43:22:


还是没有用到函数代换
我的代码:

f=inline('sin(x)+cos(x)');fplot(f,[-10,10],'b');hold on;syms x;fplot(inline(subs(f,x,x-5)),[-10,10],'r');

这里
inline(subs(f,x,x-5))
...

这是一个用正则思路改的程序 先处理称字符 再改为函数 不知道对你有没帮助
CODE:
clc,clear all
s='f(x)*e^(3*x)+f(x)*e^(5*x)+f(x)*e^(7*x)+……+……';
s1=regexprep(s,'(\)\*e\^)','+') ;
s2=regexprep(s1,'+(','+') ;
s3=regexprep(s2,'\*x','') ;
g=inline(s3)

[ Last edited by lijinfeng042 on 2010-5-23 at 13:11 ]
工作了,偶尔会上来~可以关注新浪微博 @云是风的梦_Matlab
7楼2010-05-23 13:10:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

379631818

铁杆木虫 (著名写手)

引用回帖:
Originally posted by lijinfeng042 at 2010-05-23 13:10:14:

这是一个用正则思路改的程序 先处理称字符 再改为函数 不知道对你有没帮助

[code]clc,clear all
s='f(x)*e^(3*x)+f(x)*e^(5*x)+f(x)*e^(7*x)+……+……';
s1=regexprep(s,'(\)\*e\^)','+') ;
s2=regexpr ...

难道matlab中没有对整个函数进行批量代换的方法吗
8楼2010-05-23 14:54:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lijinfeng042

木虫 (小有名气)

Matlab

★ ★
nono2009(金币+1):鼓励应助! 2010-05-23 21:14:10
robert2020(金币+1):鼓励应助,欢迎常来仿真模拟版交流。 2010-05-23 22:32:44
zzuwangshilei:多谢提供建议 2010-05-24 08:47:07
引用回帖:
Originally posted by 379631818 at 2010-05-23 14:54:22:

难道matlab中没有对整个函数进行批量代换的方法吗

应该没有 代换的等式关系在matlab中simple之类的都是调用maple的 呵呵
只能自己编写了 可以参考一下 帮助里面的mwcos2sin
关系 cos(E)^2 =(1-sin(E)^2)
CODE:
function [s,err] = mwcos2sin(s)
% MWCOS2SIN  MathWorks additional simplifications
% mwcos2sin(s) replaces cos(E)^2 by (1-sin(E)^2) and
%    cosh(E)^2 by (1+sinh(E)^2)
siz = size(s);
s = char(s);
for k = fliplr(findstr(s,'cos('))
   p = cumsum((s(k:end)=='(')-(s(k:end)==')'));
   e = k+min(find(s(k:end)==')' & p==0))-1;
   if e+2 <= length(s) && s(e+1)=='^' && s(e+2)=='2'
      s = [s(1:k-1) '(1-sin' s(k+3:e+2) ')' s(e+3:end)];
   end
end
for k = fliplr(findstr(s,'cosh('))
   p = cumsum((s(k:end)=='(')-(s(k:end)==')'));
   e = k+min(find(s(k:end)==')' & p==0))-1;
   if e+2 <= length(s) && s(e+1)=='^' && s(e+2)=='2'
      s = [s(1:k-1) '(1+sinh' s(k+4:e+2) ')' s(e+3:end)];
   end
end
s = reshape(sym(s),siz);
[s,err] = maple('map','convert',s,'sincos');

不过 比正则麻烦
工作了,偶尔会上来~可以关注新浪微博 @云是风的梦_Matlab
9楼2010-05-23 16:38:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lijinfeng042

木虫 (小有名气)

Matlab

以前编程处理字符习惯正则 呵呵
工作了,偶尔会上来~可以关注新浪微博 @云是风的梦_Matlab
10楼2010-05-23 16:41:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 379631818 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 wsYGJnURYvm6 2026-08-31 3/150 2026-09-01 01:40 by o3EMxHUAQDtS
[公派出国] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 EZ67DG6CvcKL 2026-08-31 4/200 2026-09-01 01:30 by o3EMxHUAQDtS
[考博] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 EZ67DG6CvcKL 2026-08-31 4/200 2026-09-01 01:30 by o3EMxHUAQDtS
[找工作] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 EZ67DG6CvcKL 2026-08-31 3/150 2026-08-31 22:23 by o3EMxHUAQDtS
[基金申请] 29号明天会评吗 +4 笨笨唐 2026-08-28 4/200 2026-08-31 09:30 by huixian257
[基金申请] 有没有仍没收到信息的 +7 德尚中行 2026-08-27 8/400 2026-08-30 20:52 by purplejack
[考博] 找导师 +6 yuanjiabao 2026-08-29 7/350 2026-08-30 14:40 by 生科新手
[基金申请] 麻烦专家们看看评委们的意见(F口面上) +6 gdd2018 2026-08-28 11/550 2026-08-30 08:58 by 超级无敌华子
[基金申请] 我就是申请一个面上项目而已,这评审意见是按照杰青的条件评的吧? +6 gouxfjh 2026-08-28 11/550 2026-08-30 07:57 by gouxfjh
[基金申请] 为什么资助数各大高校都创新高,自己申请怎么就这么难 +12 Kittylucky 2026-08-27 13/650 2026-08-29 00:04 by superceng
[基金申请] 系统查不到 +11 董八千 2026-08-26 11/550 2026-08-28 18:06 by Leogzhya
[基金申请] 基金系统什么内容也没有 30+4 winsaint 2026-08-27 9/450 2026-08-28 11:06 by maolC
[基金申请] 面上合作单位盖章 +5 ssyjh 2026-08-27 5/250 2026-08-27 20:50 by gdfollow
[基金申请] 看板上这么多中的,有点像50人群里49个人都是骗子的那种感觉…… +5 a089 2026-08-26 6/300 2026-08-27 14:05 by jonewore
[基金申请] 为什么 国际(地区)合作与交流项目 没有放榜? 10+3 majunge000 2026-08-26 11/550 2026-08-27 08:42 by 北京莱茵编辑
[基金申请] 出来了 +9 trojank 2026-08-26 9/450 2026-08-26 14:25 by 宝贝虫子
[基金申请] 国际合作可查了,中了面上 (EPI+1)(金币+50) +18 Ldrop2023 2026-08-26 18/900 2026-08-26 11:15 by cmrandy
[基金申请] 系统进不去 +4 yanglien 2026-08-26 5/250 2026-08-26 11:10 by wenfengw83
[基金申请] 项目信息和经费信息在系统里都可以看到了 +6 wittyboy 2026-08-26 14/700 2026-08-26 10:55 by wittyboy
[基金申请] 今天务委会开完了,明天出结果吗 +19 angus9576 2026-08-25 23/1150 2026-08-26 10:03 by zp519
信息提示
请填处理意见