首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在线性方程组中用=代替x是可能的吗?

在线性方程组中用=代替x是可能的吗?
EN

Stack Overflow用户
提问于 2022-11-26 18:51:45
回答 1查看 43关注 0票数 0

所有人。我试图做一个迭代方程求解器,在这里,我放置一个方程,然后每次迭代用X代替一个值,然后求解它。由于迭代函数被认为是字符串,所以我遇到了困难。任何帮助都是非常感谢的,谢谢。方程需要是动态的,需要通过迭代来求解。

我试着调用=替代单元格,最后得到了无效的数据,因为它以字符串的形式读取。

EN

回答 1

Stack Overflow用户

发布于 2022-11-26 19:51:25

尝试:

代码语言:javascript
复制
=BYROW(A9:A24, LAMBDA(ii, INDEX(QUERY(, 
 "select "&REGEXREPLACE(REGEXREPLACE(REGEXREPLACE(B2, "\^\d+", REPT("*x", 
 REGEXEXTRACT(B2, "\^(\d+)")-1)), "\(", "*("), "x", ii&"")), 2)))

逻辑:

查询不支持

  • 插入符号^,因此我们首先将^2转换为替代。我们知道x^2等于x*x,所以我们提取2并减去1和REPT *x一次

下一步,我们需要在50*x中添加乘法,因为()()需要变成与50x相同的()*()

然后,

  • 用值替换x,并使用查询的SQL ##逻辑计算字符串:

基本上,我们把你的:

代码语言:javascript
复制
-50(x)-1/2(-9.81)(x^2)+35

转入:

代码语言:javascript
复制
-50*(0)-1/2*(-9.81)*(0*0)+35
-50*(1)-1/2*(-9.81)*(1*1)+35
-50*(2)-1/2*(-9.81)*(2*2)+35
etc.

更新:

x^n中,n<1是无法用REPT方法实现的,而且查询不支持根,因此我们可以使用脚本将文本字符串转换为公式。

糟糕的脚本示例:

代码语言:javascript
复制
function onEdit(){
  var sheet = SpreadsheetApp.getActiveSheet();
  var source1= sheet.getRange('F7');
  var source2= sheet.getRange('F8');
  var formula1 = source1.getValue();
  var formula2 = source2.getValue();
  var target1 = sheet.getRange('B7');
  var target2 = sheet.getRange('B8');
  target1.setFormula(formula1);
  target2.setFormula(formula2);
}

其中F7包含:

代码语言:javascript
复制
=BYROW(A7:A23, LAMBDA(i, "POW("&INDEX(QUERY(, "select "&REGEXREPLACE(
 SUBSTITUTE(REGEXEXTRACT(B3, "(.+)\^"), ")(", ")*("), "x", i&"")), 2)&","&
 REGEXEXTRACT(B3, "\^\((.+)\)")&")"))

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74584799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档