我正在准备雅各比派如何使用极地/笛卡尔参数化的变换。我的问题是双重的。首先,我想知道如何强制同意取消替换后的条款。 这两个矩阵是:
## generate data
for (i in 1:5) assign(paste0('mtcars',i),transform(mtcars,cyl=factor(cyl+10^i)));
## collect loose data.frames into one list, and remove the originals
nms <- ls(pattern='^mtcars\\d+$');
dfs <- mget(nms);
rm(list=nms);
## solution
library(zoo); ## for rollmean()
for (i in seq_along(dfs)) {
dfs[[i]]$cyl <- as.numeric(as.character(dfs[[i]]$cyl));
dfs[[i]]$some.new.column <- rollmean(dfs[[i]]$mpg,5L,fill=NA);
}; ## end for
我预计使用cancel(),甚至evalf()会删除r /(r ^ 2)^ 1/2 = 1项,但事实并非如此。
其次,如何或者可以要求同情者识别简单的身份,在这种情况下,sin ^ 2 + cos ^ 2 = 1?这样结果是来自J1 * J2的评估单位矩阵。
根据文档:
J1 = Matrix([[(r*cos(theta)).diff(r), (r*cos(theta)).diff(theta)],[(r*sin(theta)).diff(r),(r*sin(theta)).diff(theta)]])
J2 = Matrix([[((x**2+y**2)**(1/2.)).diff(x),((x**2+y**2)**(1/2.)).diff(y)],[atan(y/x).diff(x),atan(y/x).diff(y)]])
#substitute for x,y to have same variables for J1 and J2
J2 = trigsimp(J2.subs({x:r*cos(theta), y:r*sin(theta)}))
J2
这个等效(ish)方程式没有。
simplify(r/(r**2)**(1/2)*(sin(theta)**2+cos(theta)**2))
似乎第二个错误是第一个错误的结果。
答案 0 :(得分:1)
数学上,r /(r ^ 2)^ 1/2 = 1并不总是正确的。如果r是非负数,它就是极坐标,这是真的。所以你应该告诉SymPy:
<tbody data-ng-repeat="package in packagingVm.Packages">
<tr>
<td>{{package.Id}}</td>
<td class="col-xs-1">
<input name="Width_{{$index}}" class="form-control input-inline input-sm" type="text" ng-model="package.Width" required valid-number />
<div class="error-message" ng-show="packagingVm.PackageForm.Width_{{$index}}.$invalid && packagingVm.PackageForm.Width_{{$index}}.$touched || package.submitted">
<span ng-show="packagingVm.PackageForm.Width_{{$index}}.$error.required">Required.</span>
</div>
(数学上,你甚至可以假设r严格为正,r = Symbol('r', nonnegative=True)
theta, x, y = symbols('theta x y')
,因为极坐标中的原点导数无论如何都不起作用。)
输出会更加令人满意:positive=True
只有这个1.0很烦人,它来自哪里?它来自1/2。是浮动而不是有理数。使用[[1.0*cos(theta), 1.0*sin(theta)], [-sin(theta)/r, cos(theta)/r]]
在指数中有一个有理数(对于简化很重要)。在这种情况下,指数为1/2,使用Rational(1, 2)
更自然,它具有使指数合理且更容易输入的相同效果。
sqrt
最终结果为sqrt(x**2+y**2).diff(x)
对于三角简化,[[cos(theta), sin(theta)], [-sin(theta)/r, cos(theta)/r]]
确实返回单位矩阵。