넓은 범위의 매개 변수 공간에 대해 비선형 방정식 시스템을 풀어야합니다. FindRoot를 사용하고 있습니다. 초기 시작점에 민감합니다. 수식을 루프 나 테이블에 넣는 대신 손으로, 시행 착오와 플로팅을해야합니다.행렬을 추가하는 Mathematica
그래서 데이터베이스와 매트릭스를 고정 된 수의 열로 만들었지 만 행 수가 가변적이어서 행렬을 만들 때 새로운 결과를 추가 할 수 있습니다. 같은
지금 내가 사용했습니다 뭔가 :
{{{xx, yy}} = {x, y} /. FindRoot[{f1(x,y) == 0,f2(x,y)==0}, {x,a},{y,b}],
g(xx,yy)} >>> "Attempt1.txt"
내가 두 변수에 대한 해결 한 후 변수의 변수와도 함수 g (XX, YY)를 저장하고있다.
이것은 나에게 효과가있는 것처럼 보이지만 그 결과는 더 이상 매트릭스가 아니지만 데이터는 텍스트 유형으로 저장됩니다.
필자는 FindRoot를 손으로 해결할 때마다 행을 추가하는 행렬 또는 데이터베이스를 유지할 수 있습니까? 다시 말하지만, 필자는 FindRoot를 시작점에 민감하게 사용하고 있기 때문에 좋은 시작점을 알지 못하므로 수동으로 FindRoot를 수행해야합니다.
덕분에 많은
정말 그냥 반복 호출이기 때문에이 매트릭스 더 이상하지 왜 당신은, 루프를 넣을 수 있습니다 . 이 Put [{{1, 2}, {3,4}}, "tmp.mx"]를 고려하십시오; 다시 가져온 후에 정확히 똑같은 표현식 인 [ "tmp.mx"]'를 얻으십시오. – halirutan
모든 것을 하나의 항목으로 저장합니다. 내가 data = Import [ "temp.mx"]라고 가정하고 나서 dimension [data]를하면, 대답은 1입니다. 나는 정보를 추출하는 방법을 모른다. 데이터 [[1]]을하면 전체 데이터가 출력됩니다. 개인 정보를 추출 할 수 없습니다. data [[1,1]] 할 때 오류가 발생합니다. – user1169757
그래서 For 루프 안에서 {x1, x2, x3, x4, x5, x6, x7, x8, x8, x10} >>> "temp.mx"를 22 번 반복했습니다. 이제 data = Import [ "temp.mx", "Table"]을 수행 한 다음 Dimensions [data]를 수행하면 110이됩니다. 실제로 원하는 것은 10 열 22 행의 행렬이었습니다. 각 행/레코드 당 10 개의 데이터는 5 개의 데이터로 저장되어 총 크기는 5x22 = 110입니다. 예를 들어 data [[1]] = { "{{24258.225756005108,", "0.0001254874133927587", \ "0.10668678000535163"} 등이 있습니다. 어쨌든 data [[i, j]]가 i 번째 레코드의 j 번째 값을 나타내는 깨끗한 10x22 매트릭스에서 데이터를 얻을 수 있습니까? 감사. – user1169757