function - 分配元素值之前需要初始化吗?
问题描述
'' 无法识别的函数或变量 'dy'。
功能错误''
是因为代码在为 dy(1) 和 dy(2) 赋值之前没有说明任何关于 dy 的内容吗?
我该如何解决?
function dy=functiondy(t,y)
global example
if (example==1)
dy(1)=-pi*cos(pi*y(2));
dy(2)=pi*sin(t*y(1));
elseif (example==101)
tmp=(y(1)^2+y(2)^2)^0.5;
dy(1)=(y(2)-y(1))/tmp;
dy(2)=y(1)*y(2)/tmp;
end
dy=dy'; % error line
end
解决方案
没有。dy(1) = ...
你可以先不说dy = ...
,然后dy
就会自动出现。
看起来问题是example
既不是 1 也不是 101,所以你的两个if
块都被绕过了。所以它到达这一行:
dy=dy';
在这里, “=”dy
的右侧有一个,因此您在分配它之前尝试阅读它。
将一个包罗万象的else
块添加到您的, 或在块开始之前使用默认值进行if
初始化。dy
if
推荐阅读
- c++ - 将 exp 用于指数形式 (C++, 1.#INF)
- spring - API 未使用@PostMapping 接收信息,但使用@RequestMapping 是。Spring Boot、Kotlin、REST API
- python - 如何解决 libcudnn.so.6:没有 sudo 无法打开共享对象文件
- asp.net-mvc - 带有模型和控制器复选框的数据表
- neo4j - Neo4J:扩展具有子关系的节点的 CQL 是什么
- excel - 从带有年份的日期中提取唯一的月份
- pyparsing - 在python中解析引发异常
- android - Android 语音识别器
- laravel - Laravel Eloquent - 通过其他表连接 2 个表
- c# - 将 TabItem 的 Header 绑定到该选项卡 Content 的属性