Interp1 (matlab의 선형 방법)에 대한 도움이 필요합니다. 문제는 다음과 같이 진행됩니다.matlab에서 선형 보간 계산시 범위 문제
나는 fx라는 함수 값을 가진 벡터를 가지고 있습니다.
f = @(xq)interp1(x, fx, xq);
[~, x_t] = ode45(@(t,x)f(x), [0 1], 2);
곳 값에서 온 XQ 않습니다
fx = 1.0e+03 *
2.0500
-0.0005
-0.0005
-0.0004
-0.0003
-0.0004
-0.0005
-0.0005
-0.0006
-0.0007
-0.0008
-0.0008
-0.0009
-0.0010
-0.0011
-0.0011
-0.0012
-0.0013
-0.0013
-0.0014
-0.0015
-0.0015
-0.0016
-0.0016
-0.0017
-0.0018
-0.0018
-0.0019
-0.0019
-0.0020
-0.0020
-0.0021
-0.0022
-0.0022
-0.0023
-0.0023
-0.0024
-0.0024
-0.0025
-0.0025
-0.0026
-0.0027
-0.0027
-0.0028
-0.0028
-0.0029
-0.0029
-0.0030
-0.0030
-0.0031
-0.0031
-0.0032
-0.0032
-0.0033
-0.0033
-0.0034
-0.0034
-0.0035
-0.0035
-0.0036
-0.0036
-0.0037
-0.0037
-0.0038
-0.0038
-0.0038
-0.0039
-0.0039
-0.0040
-0.0040
-0.0041
-0.0041
-0.0042
-0.0042
-0.0043
-0.0043
-0.0043
-0.0044
-0.0044
-0.0045
-0.0045
-0.0046
-0.0046
-0.0046
-0.0047
-0.0047
-0.0048
-0.0048
-0.0048
-0.0049
-0.0049
-0.0050
-0.0050
-0.0050
-0.0051
-0.0051
-0.0051
-0.0052
-0.0052
-0.0053
-0.0053
-0.0053
-0.0054
-0.0054
-0.0054
-0.0055
-0.0055
-0.0055
-0.0056
-0.0056
-0.0056
-0.0057
-0.0057
-0.0057
-0.0057
-0.0058
-0.0058
-0.0058
-0.0059
-0.0059
-0.0059
-0.0059
-0.0060
-0.0060
-0.0060
-0.0060
-0.0061
-0.0061
-0.0061
-0.0061
-0.0062
-0.0062
-0.0062
-0.0062
-0.0062
-0.0063
-0.0063
-0.0063
-0.0063
-0.0063
-0.0063
-0.0064
-0.0064
-0.0064
-0.0064
-0.0064
-0.0064
-0.0064
-0.0065
-0.0065
-0.0065
-0.0065
-0.0065
-0.0065
-0.0065
-0.0065
-0.0065
-0.0065
-0.0065
-0.0065
-0.0065
-0.0065
-0.0065
-0.0065
-0.0065
-0.0065
-0.0065
-0.0065
-0.0065
-0.0065
-0.0065
-0.0065
-0.0065
-0.0065
-0.0065
-0.0065
-0.0065
-0.0065
-0.0065
-0.0064
-0.0064
-0.0064
-0.0064
-0.0064
-0.0064
-0.0064
-0.0063
-0.0063
-0.0063
-0.0063
-0.0062
-0.0062
-0.0062
-0.0062
-0.0061
-0.0061
-0.0061
-0.0061
-0.0060
-0.0060
-0.0060
-0.0059
-0.0059
-0.0059
-0.0058
-0.0058
-0.0058
-0.0057
-0.0057
-0.0056
-0.0056
-0.0055
-0.0055
-0.0054
-0.0054
-0.0053
-0.0053
-0.0052
-0.0052
-0.0051
-0.0051
-0.0050
-0.0050
-0.0049
-0.0048
-0.0048
-0.0047
-0.0047
-0.0046
-0.0045
-0.0045
-0.0044
-0.0043
-0.0042
-0.0042
-0.0041
-0.0040
-0.0039
-0.0038
-0.0038
-0.0037
-0.0036
-0.0035
-0.0034
-0.0033
-0.0032
-0.0031
-0.0030
-0.0030
-0.0029
-0.0028
-0.0027
-0.0025
-0.0024
-0.0023
-0.0022
-0.0021
-0.0020
-0.0019
-0.0018
-0.0017
-0.0015
-0.0014
-0.0013
-0.0012
-0.0010
-0.0009
-0.0008
-0.0006
-0.0005
-0.0004
-0.0002
-0.0001
0.0000
0.0002
0.0003
0.0005
0.0006
0.0008
0.0009
0.0011
0.0013
0.0014
0.0016
0.0018
0.0019
0.0021
0.0023
0.0024
0.0026
0.0028
0.0030
0.0032
0.0034
0.0035
0.0037
0.0039
0.0041
0.0043
0.0045
0.0047
0.0049
0.0052
0.0054
0.0056
0.0058
0.0060
0.0063
0.0065
0.0067
0.0069
0.0072
0.0074
0.0077
0.0079
0.0081
0.0084
0.0086
0.0089
0.0092
0.0094
0.0097
0.0100
0.0102
0.0105
0.0108
0.0111
0.0113
0.0116
0.0119
0.0122
0.0125
0.0128
0.0131
0.0134
0.0137
0.0140
0.0144
0.0147
0.0150
0.0153
0.0157
0.0160
0.0163
0.0167
0.0170
0.0174
0.0177
0.0181
0.0185
0.0188
0.0192
0.0196
0.0199
0.0203
0.0207
0.0211
0.0215
0.0219
0.0223
0.0227
0.0231
0.0235
0.0239
0.0244
0.0248
0.0252
0.0257
0.0261
0.0266
0.0270
0.0275
0.0279
0.0284
0.0289
0.0293
0.0298
0.0303
0.0308
0.0313
0.0318
0.0323
0.0328
0.0333
0.0338
0.0343
0.0349
0.0354
0.0359
0.0365
0.0370
0.0376
0.0381
0.0387
0.0393
0.0398
0.0404
0.0410
0.0416
0.0422
0.0428
0.0434
0.0440
0.0447
0.0453
0.0459
0.0466
0.0472
0.0479
0.0485
0.0492
0.0499
0.0505
0.0512
0.0519
0.0526
0.0533
0.0540
0.0547
0.0554
0.0562
0.0569
0.0576
0.0584
0.0591
0.0599
0.0607
0.0615
0.0622
0.0630
0.0638
0.0646
0.0654
0.0663
0.0671
0.0679
0.0688
0.0696
0.0705
0.0713
0.0722
0.0731
0.0740
0.0749
0.0758
0.0767
0.0776
0.0785
0.0794
0.0804
0.0813
나는 다음과 같이 보간을 계산하기에 전에 X 축
x = [0.00111:0.0111:5];
내가 도움을 얻었다 값이?
이 ODE를 해결 한 후 일부 NaN 값이 나타납니다. 나는 왜 그런지 이해하지 못한다. 나는 fx 값과 x 값이 정확하거나 그렇지 않을 수도 있다고 믿는다. fx의 값은 고정되어 있으므로 x의 값을 여러 번 변경했지만 어떤 모양으로도 바뀌 었습니다.
왜 NaN 값을 얻고 있으며이를 해결할 수 있습니까? 범위 밖입니까?
저는 이것이 여러분 중 많은 사람들에게 가장 흥미롭고 도전적인 질문이 아니라는 것을 알고 있습니다. 그러나 저는 정말로 도움이 될 것입니다. :)
미리 감사드립니다. 보간 함수 f에 ODE45 후
내 결과 :
x_t =
2.0000
1.8696
1.7382
1.6081
1.4810
1.3584
1.2412
1.1304
1.0262
0.9290
0.8388
0.7555
0.6788
0.6084
0.5440
0.4853
0.4319
0.3834
0.3395
0.2999
0.2643
0.2323
0.2038
0.1784
0.1559
0.1360
0.1186
0.1035
0.0903
0.0788
0.0688
0.0601
0.0523
0.0452
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
안녕하세요. @ 문제 해결에 도움이되는 정보가 부족하여 사과드립니다. 나는 내 문제를 더 잘 설명하려고 노력할 것이다. 내 FX는 실제로 ODE입니다. 일반적으로 우리는 x_dot = f (x)를 쓰지만, 필자의 경우에는 함수 f (x)가 명시 적이지 않다. 방금 함수 값 (fx)이 있습니다. x_dot (명시 적으로 지정됨) 및 테스트 솔루션에 대한 테스트 기능이 있습니다. 나는 metamodel (x_dot의 RHS의 근사치)을 발견했다. 이 메타 모델은 x의 ODE와 이산 함수 인 fx입니다. 질문이 명확 해지기를 바랍니다. 기꺼이 더 많은 정보가 필요합니다. –
한 번만 더 : D 나는 많은 수의 점이 없으며 함수 값을 열 벡터로 제공합니다. –
@SergioSarmiento 당신은 (이론적으로) 그것을 손으로 해결할 수 있습니까? 나는 그렇게 생각하지 않을 것이다. 나는 ode45에 전달하기 위해 함수형으로'f'가 필요할 것이라고 확신한다. 단지 문서의 예제를 보라. – Dan