Попробуйте это,
Z = fillmissing(X_coordinate,'linear','SamplePoints',time);
Это будет интерполировать отсутствующие значения.
Не забудьте преобразовать все нули в NaN
.
zt = 1:1:5;
za = [100 50 0 0 20];
za(za == 0) = NaN;
zb = fillmissing(za,'linear','SamplePoints',zt);
zb =
100 50 40 30 20
Если вы используете item.data.section
, то это превратится в undefined
, поскольку в вашем объекте нет ключа с именем section
, и тогда ng-model
будет undefined + room
, что приведет к undefined
. [+1112]
Вы можете использовать ng-model="item.data['section' + room]"
для ссылки на ваши ключи. У вас есть рабочий пример ниже. Я добавил функцию обновления, чтобы увидеть, что привязка ng-model
действительно работает.
var module = angular.module("myModule", []);
module.controller("myController", function($scope) {
$scope.item = {
key: "itemKey",
name: "itemName",
data: {
sectionA: "section A String ",
sectionB: "section B String ",
sectionZ: "section Z String "
}
};
$scope.rooms = ['A', 'B', 'Z'];
let i = 0;
$scope.updateValues = function() {
setInterval(function() {
Object.keys($scope.item.data).forEach(key => {
let v = $scope.item.data[key];
v = v.substr(0, v.length - 1) + i;
$scope.item.data[key] = v;
i = (++i) % 10;
});
setTimeout(function() {
$scope.$apply()
}, 0);
}, 1000);
}
$scope.updateValues();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>
<div ng-app="myModule">
<div ng-controller="myController">
<div class="item" ng-repeat="room in rooms">
{{ room }}
<input type="text" name="{{ item.key }}" class="form-control" ng-model="item.data['section' + room]">
</div>
</div>
</div>
Ура!