フィルターのクリア

It is showing error tht switch expression must be a scalar or a character vector.

3 ビュー (過去 30 日間)
% Step 1: Load the data
data = [
1 400 40 1 35.32 23.12
2 400 40 2 30.41 21.37
3 400 40 3 41.53 20.61
4 400 60 1 26.81 21.83
5 400 60 2 33.74 22.58
6 400 60 3 27.25 24.92
7 400 100 1 28.37 22.06
8 400 60 2 31.58 20.87
9 400 100 3 37.08 21.03
10 700 40 1 43.27 16.59
11 700 40 2 40.51 16.88
12 700 40 3 37.97 13.61
13 700 60 1 47.33 12.96
14 700 60 2 67.39 10.08
15 700 60 3 63.83 11.64
16 700 100 1 78.30 9.68
17 700 100 2 81.36 9.24
18 700 100 3 81.09 9.98
19 1000 40 1 83.61 8.41
20 1000 40 2 89.48 7.83
21 1000 40 3 88.07 8.06
22 1000 60 1 74.38 6.85
23 1000 60 2 76.33 6.97
24 1000 60 3 71.06 7.56
25 1000 100 1 69.34 7.06
26 1000 100 2 70.18 6.81
27 1000 100 3 73.54 7.08
28 1300 40 1 89.32 6.53
29 1300 40 2 91.68 5.86
30 1300 40 3 90.22 5.98
31 1300 60 1 88.96 5.07
32 1300 60 2 92.94 5.06
33 1300 60 3 91.87 6.07
34 1300 100 1 78.39 6.43
35 1300 100 2 81.34 5.11
36 1300 100 3 76.73 5.36
];
inputs = data(:, 2:4)';
targets = data(:, 5:6)';
% Step 2: Define the neural network architecture
hiddenLayerSize = 10; % Choose the number of neurons in the hidden layer
net = feedforwardnet(hiddenLayerSize);
% Step 3: Define the genetic algorithm parameters
ga_opts = gaoptimset('Display', 'iter', 'PopulationSize', 50, 'Generations', 100);
% Step 4: Train the hybrid model
[net_ga, ~] = ga(@(x)train_neural_network(x, inputs, targets), net.numWeights, ga_opts);
% Step 5: Test the model
outputs = net_ga(inputs);
% Step 6: Evaluate the model's performance
% You can evaluate the performance using various metrics such as RMSE, MAE, etc.
% Define a function to train the neural network
function loss = train_neural_network(weights, inputs, targets)
net = feedforwardnet(hiddenLayerSize);
net = setwb(net, weights);
net = train(net, inputs, targets);
outputs = net(inputs);
loss = mse(outputs - targets);
end

採用された回答

Walter Roberson
Walter Roberson 2024 年 4 月 7 日
[net_ga, ~] = ga(@(x)train_neural_network(x, inputs, targets, hiddenLayerSize), net.numWeightElements, ga_opts);
You cannot pass ga options directly after the number of variables. The options are positional. You need to use either
x = ga(fun,nvars,A,b,Aeq,beq,lb,ub,nonlcon,options)
or
x = ga(fun,nvars,A,b,Aeq,beq,lb,ub,nonlcon,intcon,options)

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeDeep Learning Toolbox についてさらに検索

製品


リリース

R2024a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by