我想转换功能
f(x)= x ^ 2 + y ^ 2 -4.5 * sin(x * y)-1。
由x = r cos(t)和y = r sin(t)形成极性形式。替换为极坐标的代码是
.................
......................
Iterator<Row> rowIterator = sheet.rowIterator();
while(rowIterator.hasNext()) {
XSSFRow currentRow = (XSSFRow) rowIterator.next();
Iterator<Cell> cellIterator = currentRow.cellIterator();
while(cellIterator.hasNext()) {
XSSFCell currentCell = (XSSFCell) cellIterator.next();
if(currentCell.getStringCellValue().equalsIgnoreCase("xxxxxx")){
sheet.shiftRows(13, sheet.getLastRowNum(), 10);//java.util.ConcurrentModificationException
//fill these cells just created
}
}
}
我的功能变为
t=linspace(0,2*pi);
x=r*cos(t)
y=r*sin(t)
但现在我的任务是根据角度t求解半径r,然后使用f(t)=(r.*cos(t)).^2 + (r.*sin(t)).^2 - 4.5.*sin((r.*cos(t)).*(r.*sin(t))) - 1
计算不同角度的不同半径。在基本方程方面,我无法用方程f(t)= 0来求解r。怎么做的?
答案 0 :(得分:0)
首先定义相关的syms,然后使用solve
函数求解:
syms r t;
solutions = solve((r*cos(t))^2 + (r*sin(t))^2 - 4.5*sin((r*cos(t))*(r*sin(t))) - 1, r);
对于这种情况,您不需要在运算符之前使用点。
此外,您可以将(r*cos(t))^2 + (r*sin(t))^2
替换为r^2
:
solutions = solve(r^2 - 4.5*sin((r*cos(t))*(r*sin(t)), r);