matlab - 简单函数中的输出参数太多
问题描述
我在以下位置定义了一个函数 f1 f1.m
:
function [a b]= f1(x)
a= x^4-x-10
b= e^(-x) - sin(x)
end
现在我想拥有x0^4-x0-10
withx0=3
但表达的价值
x0=3
disp(f1(x0)(1))
导致错误
Indexing with parentheses '()' must appear as the last operation of a valid
indexing expression.
我哪里错了?
解决方案
我看不出你的标题和你的问题是如何匹配的。
我将“输出参数过多”的问题放在一边,专注于索引。
通常,您不能直接索引函数的结果。
你所要做的
x0 = 3
res = f1(x0)
disp(res(1))
但由于你的结果无论如何都是标量的,你可以这样做
disp(res(1))
因为res
会230
。
另一种方法可能是
x0 = 3
[res1 res2] = f1(x0)
但是在这里,您的a
结果也将落在res1
和b
中res2
。
推荐阅读
- git - 即使文件更改,Git 也不会显示更改
- kdb - KDB Q 中过滤器功能的最简单实现是什么?
- r - 在 R 中生成输出文本文件
- java - 具有大量空条目的大型数组
- python - grep stdin 和 bc stdin 之间有什么不同吗?
- javascript - 将 FileReader.readAsText() 结果字符串转换回文件对象以供下载?
- java - 使用多个并发 KieSession 时出现 NullPointerExceptions
- .net - 实时单元测试卡住并且无法停止
- r - 在 R 中总结有困难
- python - Pandas groupby week 给定一个日期时间列