我正在尝试使用Euler方法集成DE。我可以通过整个方法一次,但它不会重新循环。我最终得到的错误是"下标索引必须是真正的正整数或逻辑。",我不知道为什么。
我已经找到:Subscript indices must either be real positive integers or logicals, generic solution并尝试了这些故障排除方法,但无济于事。
这是我的代码。我为它的邋iness道歉:
<%= phone_fields.text_field :number,
id: "contact_phones_attributes_#{phone_fields.index}_number" %>
我问过一些朋友那些代码,他们也不知道。希望有人在这里可以提供帮助。谢谢!
答案 0 :(得分:0)
您的下标索引不是整数。所以而不是:
int main(int argc, char* argv[]) {
ifstream ifs(argv[1],ios::in);
if(argc!=2) {
cout << "Please type main.exe and file name to run the program! Please Try Again" << endl;
}
ifs.open(argv[1]);
if (!ifs.is_open()) {
cout << "wrong file name! please open again!" << endl;
}
char line[80];
char *point;
while(ifs.getline(line,80)) //problem seem to be here
{
cout << "line =" << line << endl;
point = strtok(line, " ");
while(point!=NULL) {
if (checkdigit(point))
numberofdight++;
else if(checkkeyword(point))
keywords++;
else { }
}
cout << point <<endl;
point = strtok(NULL, " ");
}
}
ifs.close();
您可以尝试这样的事情:
for i = 1:0.001:200 %Total time of 200 seconds in 0.001 second intervals
此外,由于你在循环中使用向量,你可能希望提前分配它们,所以你可以替换它:
for i = 1:200*1000 %Total time of 200 seconds in 1 millisecond intervals
有了这个:
w = 0.001;
xdot = 0.001;