声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1389|回复: 5

[编程技巧] 怎么用符号推倒不定积分。

[复制链接]
发表于 2009-9-30 11:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
例如我知道传递函数H(S),里面有很多变量(符号退出来的),现在求H(Jw)在整个频域上的积分,积分变量是w,请问怎么办?
顺便问一下我会把传递函数中的分子分母分开,但是怎么能把这个含有很多符号变量的关于s的多详式的系数得到?

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

发表于 2009-9-30 14:26 | 显示全部楼层

回复 楼主 xjzhang 的帖子

你提问很笼统,别人很难准确的帮助你。我觉得你还是把问题说更清楚点儿。
 楼主| 发表于 2009-9-30 21:39 | 显示全部楼层
请教,这个程序,我怎么用不了啊?
clear
clc
syms ks ms mu  ku C_off C_on alpha s w

A=[0,1,0,-1;-ks/ms,-(C_off+alpha*(C_on-C_off))/ms,0,C_off/ms;0,0,0,1;ks/mu,C_off/mu,-ku/mu,-((1-alpha)*(C_on-C_off)+C_off)/mu];
B=[0,0,-1,0]';
C=[1,0,0,0];
D=0;

I=eye(4,4);
G=C*inv(s*I-A)*B+D;
% [n,d]=ss2tf(A,B,C,D);
% =ss(A,B,C,D);
C2=[0,1,0,0];
C3=[0,0,1,0];
G2=C2*inv(s*I-A)*B+D;
G3=C3*inv(s*I-A)*B+D;
output=[G;G2;G3];
[num,den]=numden(output);
num=collect(num,'s');
den=collect(den,'s');
我的问题就是把G的分子分母的系数提出来,还有就是
G1=subs(G,'s',j*w);
% Fn=int(G1,w,-inf,inf)
我要对G1求积分,上下限分别是-inf,inf。用int感觉太慢了,怎么办?
发表于 2009-10-1 00:10 | 显示全部楼层
感觉上楼主的东东好像就是状态方程求解
考虑是否可直接利用control toolbox现有的函数
 楼主| 发表于 2009-10-1 11:46 | 显示全部楼层
我的确是在用状态矩阵推导传递函数H,但是我推导完传递函数后,还要对传递函数|H|^2在整个频域上积分(S——〉jw),
这个我就不会了,都是符号的,我要推公式,controlbox里面好像大多数不支持符号计算阿。
 楼主| 发表于 2009-10-2 04:46 | 显示全部楼层
多项式系数问题解决,但是这个积分还是没有搞定,好似H2优化里面经常用到。再次请教阿!

多项式系数如下程序:

syms a b c x
y = a + b*sin(x) + c*sin(2*x)
coeffs(y,sin(x)) = [a+c*sin(2*x), b]
coeffs(expand(y),sin(x)) = [a, b+2*c*cos(x)]

syms x y
z = 3*x^2*y^2 + 5*x*y^3
coeffs(z) = [3, 5]
coeffs(z,x) = [5*y^3, 3*y^2]
[c,t] = coeffs(z,y) returns c = [3*x^2, 5*x], t = [y^2, y^3]
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-2 17:54 , Processed in 0.052285 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表